我搜索了一些文档,并尝试了 Xcode 和 AppCode。但我仍然对一些事情不确定。那么有人可以澄清我吗:
如果我有名为 foo 的属性,是否应该有名为 的私有实例变量_foo
or foo
?
If I dont't创建一个私有实例变量,只需合成它即可。那么我应该尝试访问什么变量self->foo
or self->_foo
?
我已经看到了这两种方法并且都有效,所以我很好奇是否有任何编码规则或约定,因为我没有找到任何编码规则或约定。
Note:我不感兴趣@synthetize foo=_foo
;
1.如果我有名为 foo 的属性,我应该有名为 _foo 或 foo 的私有实例变量吗?
您不必自己创建实例变量。将自动为您创建一个带有下划线前缀的实例变量。由于您不应该直接访问变量(见下文),因此您不应该关心底层变量的名称。
2.如果我不创建私有实例变量,只需合成它即可。那么我应该尝试访问 self->foo 或 self->_foo 哪个变量?
两者都不。属性的想法是使用访问器而不是直接访问变量。你应该使用self.foo
获取和设置属性(或[self foo]
and [self setFoo:newFoo];
如果您不喜欢点语法)。另请注意,您不必显式综合该属性。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)