我是iOS xcode的傻瓜初学者。当我在学习Objective-C'self'时。主要用于在互联网上搜索其他人的示例代码。但是,当我们已经合成了价值时,是否存在“自我”也是一样的。不,对吧?
我想知道自我何时用于特定情况。请帮我澄清:)
答案 0 :(得分:5)
使用self.myProperty
是[self myProperty]
的简写。所以它使用访问器方法来检索值。
直接访问ivar(省略self.
)并不相同。例如,子类可以覆盖myProperty
方法,更改返回的值。另一种常见情况是延迟初始化:属性getter在第一次访问时设置值。
答案 1 :(得分:0)
property
和instance variable
(或ivar
)存在差异。
使用self.myVariable
您正在使用 属性 ,使用{strong} ivar myVariable > 即可。要记住的规则是这样的:“除了初始化方法案例之外,永远不要在你的应用中使用ivar
”。如果你是初学者,只需在你的任何地方使用self
代码,你会没事的。