【发布时间】:2017-01-24 18:53:02
【问题描述】:
我知道之前有人问过这个问题,但可能不是在相同的上下文中。我的问题是我有一个单例类,它在应用程序的生命周期中只有 dipatched_once。在类中,我有一些方法正在访问实例变量并在它们已在实例上设置时对其进行操作。这是我如何尝试访问它们的示例:
// .m 文件:
界面:
@property (nonatomic, assign, readwrite) BOOL userLoggedIn;
实施: // 方法:
-(void)someMethod{
if(!_userLoggedIn){
}
else {
}
}
我知道我也可以像这样使用 self 来评估值:
-(void)someMethod{
if(self.userLoggedIn){
}
else {
}
}
想知道访问值的正确方法是什么?我没有综合属性,因为它们都在接口中声明,仅在 .m 文件中。谢谢您的帮助!
【问题讨论】:
-
视情况而定,但如果您实施了
-(BOOL)userLoggedIn{},则可能会改变行为。 -
如果
userLoggedIn仅定义为在实现中使用并且您正在使用对变量的直接访问,那么您是否有理由声明一个属性?为什么不直接使用实例变量(如@implementation { BOOL userLoggedIn; } ...?
标签: objective-c