真的,为什么大多数人在没有代码的情况下使用self.something几乎所有东西?
例如:
-(void)viewDidLoad {
self.mylabel.text = [NSString stringWithFormat:@" %@", someVariable];
}
代码在没有自我的情况下以相同的方式工作。
我试图看看没有自我会发生什么,它总是有效。
答案 0 :(得分:2)
使用自我。意味着您正在使用getter / setter,而不使用它意味着您正在直接访问实例变量。
这个问题在这里得到了很多处理,但总结如下:
始终为每个数据成员创建一个@property并使用“self.name” 在整个类实现中访问它。永远不要访问自己的 实例变量直接。
属性强制实施访问限制(例如readonly)
属性强制执行内存管理策略(强,弱)
属性提供透明实现自定义的机会 制定者和吸气剂。
使用自定义setter或getter的属性可用于强制执行 线程安全策略。有一种方法来访问实例 变量增加了代码的可读性。
来源: