我知道這個問題已經被問過,但可能不在同一個上下文中。我的問題是,我有一個singleton類,在應用程序的生命週期中只有dipatched_once。在這個類中,我有一些方法正在訪問實例變量,並在實例上設置它們時採取行動。這是例子,我如何試圖訪問他們的:Objective C _underscore vs self.variable
// .m文件:
接口:
@property (nonatomic, assign, readwrite) BOOL userLoggedIn;
實現: //方法:
-(void)someMethod{
if(!_userLoggedIn){
}
else {
}
}
我知道我也可以使用self來評估這樣的值:
-(void)someMethod{
if(self.userLoggedIn){
}
else {
}
}
想知道哪個是訪問該值的正確方法?我沒有綜合這些屬性,因爲它們都只在.m文件的界面中聲明。謝謝您的幫助!
這取決於,但是如果你有' - (BOOL)userLoggedIn {}'實現,那可能會改變行爲。 – Larme
[iOS:自變量和下劃線(\ _)與變量的用法](http://stackoverflow.com/questions/12175229/ios-usage-of-self-and-underscore-with-variable) – holex
If 'userLoggedIn'只是爲了在實現中使用而定義的,並且您正在使用對變量的直接訪問,是否有理由聲明屬性?爲什麼不只是使用一個實例變量(如'@implementation {BOOL userLoggedIn;} ...' – CRD