2012-10-01 69 views
-1

我想看看保留,分配和複製setter和getter方法的代碼,任何人都可以請指導我一些有用的堆棧溢出帖子或任何其他教程鏈接。 thanx提前和Regards 薩阿德Ahmadobjective c retain,assign,copy getters setters方法

+2

沒有人給你完整的代碼。針對你的問題。分享你的代碼讓任何人都可以引導你。 –

+0

我只想看看保留,複製等getter setters方法代碼,意味着他們如何實施,並且有一個帖子在堆棧溢出爲此,我試圖找到它,但沒有成功。 –

回答

1

你通常需要聲明所有權的實例變量。請參閱Objective-C內存管理規則。擁有財產保留權的財產繼承人聲明新價值的所有權,並放棄舊財產的所有權。使用分配屬性時,周圍的代碼必須這樣做,就責任和關注點分離而言,這樣做是一團糟。您將使用assign屬性的原因是,您無法保留該值(例如非對象類型,如BOOL或NSRect),或者在保留該值時會導致不需要的副作用。

順便提一下,在NSString的情況下,屬性的正確類型通常是複製。那樣的話,如果有人傳入一個NSMutableString(這是有效的 - 它是一種NSString),它不能從你的下面改變。

繼續這些鏈接。希望你們能更好地與這些鏈接瞭解 -

Objective-C 101 (retain vs assign) NSString

NSString property: copy or retain?

https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/MemoryMgmt/Articles/MemoryMgmt.html