我只是想知道,从类内部访问属性时,我必须做[self someProperty]
或self.someProperty
?或者可以简单地将它简称为someProperty
?Objective-C属性
编辑:鉴于属性的名称不冲突/ shawdow ....
我只是想知道,从类内部访问属性时,我必须做[self someProperty]
或self.someProperty
?或者可以简单地将它简称为someProperty
?Objective-C属性
编辑:鉴于属性的名称不冲突/ shawdow ....
[自someProperty]或self.someProperty?或者可以安全地将它简称为someProperty?
任何一个都没问题。但在课堂范围内时,我不想使用self
。
someValue = 10 ;
[ self someValue ] = 20 ;
self.someValue = 30 ;
以上所有的三条语句都将修改接口变量someValue
。
两者都可以工作。 .someProperty
表示法可以说有点安全,因为如果你在那里犯了一个错字,编译器会发出错误;相反,错字[self someProperty]
只会产生警告。
在读取值时使用someProperty来引用实例变量是很好的,但是当设置值时,如果您没有使用[self setSomeProperty:]或self.someProperty =,那么将没有键 - 价值观察消息发送。所以如果其他对象正在观察这个属性,它们将不会被正确更新。
这可以通过直接设置实例变量来实现,但通常需要观察才能正常工作。
可能重复[何时访问属性与自我,什么时候不?](http://stackoverflow.com/questions/4884231/when-to-access-property-with-self-and-when-not- to) – 2011-05-10 20:50:42