相关疑难解决方法(0)

我应该在实施中使用自我关键字(属性)吗?

我相信我在很大程度上理解属性.我的问题是,如果我有一个实例变量的属性,并且我在我的实现文件中的方法中设置或检索它,我应该使用self.myProperty还是只是myProperty?我知道其中一个有效,但我看到了混合约定,有时代码直接访问变量,有时则通过属性访问变量.

这样做有技术原因吗?这只是公约/个人偏好吗?而且我不是指方法的参数名称与实例变量名称冲突的实例,这可能是使用该属性的一个原因(至少,在其他语言中,我不知道这个).我假设当一个人在实现中使用该属性时,他们想要利用他们声明属性的方式(即非原子,保留),所以例如在方法中,人们可以这样做:

self.myProperty = [someObject someAutoReleasedObject];
Run Code Online (Sandbox Code Playgroud)

代替:

myProperty = [[someObject someAutoReleasedObject] retain];
Run Code Online (Sandbox Code Playgroud)

这是什么原因?那么只有某些情况才能使用该物业吗?

我是Objective-C的新手,这是让我困惑的少数事情之一.到目前为止,我刚刚直接访问了实例变量,最可能的错误假设是,通过属性实际调用/发送方法/消息并增加了不必要的开销.我很确定我错了,但即使开销的差异可以忽略不计(如果有的话),为什么只要直接访问变量就可以选择加入?

我很确定我的想法是错的,这就是我在这里问的原因.

language-features properties conventions objective-c

11
推荐指数
1
解决办法
1022
查看次数