我不断在示例 Objective C 代码中看到这样的事情:
_myProp = newValue;
据我了解,创建属性 myProp
会将实际变量创建为 _myProp
,以及两个访问器方法(默认情况下) myProp
( getter )和 setMyProp
( setter )。
我的问题是,为什么我不断看到绕过访问器方法并直接获取变量的示例代码?这样有什么好处吗?
最佳答案
有时您不想声明属性而只想使用私有(private) ivar。
另一方面,如果存在属性声明,则没有理由直接访问 ivar,除非在访问器的实现中。
有时人们想绕过访问器的副作用并直接使用 ivar。不过,这通常是架构缺陷的迹象。
关于objective-c - 何时避免在 Objective C 中使用访问器方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18825271/