可能重複自我的用法和下劃線(_):
How does an underscore in front of a variable in a cocoa objective-c class work?的iOS:具有可變
我一直很困惑,使用自己或與變量名下劃線合成它像後如下:
In .h file:
@property(nonatomic, strong) NSMutableArray *users;
In .m file:
@synthesize users = _users;
根據我的理解,當我使用self.users時,操作系統將確保rel在集合方法中簡化先前分配的內存,所以我們不需要明確照顧。
_users是用戶的實例變量,應該在訪問用戶變量時通常使用。如果我使用_users來更改它的值,那麼它將不會觸發KVO委託,這將不會通知觀察用戶值更改的班級。
此外,self.users允許方法名像下面區分虛擬變量,
- (void)assignUsers:(NSMutableArray*)users {
self.users = users;
}
可能有人請告訴我,如果有什麼事,我理解錯誤或缺失而使用_users或self.users。謝謝。
嗨@qegal我經歷過那個線程,如果你看過我的問題,大部分觀點都是結論點,但我無法得到的是什麼時候使用什麼! – applefreak