是否有任何理由为ivar使用属性,该属性仅在类内部使用?
我可以看到在一个类中使用objective-c中的属性可以帮助其他类访问实例变量,但是对于实例变量的内部使用,是否有任何好处/需要为它使用属性?事实上,对于房产,你必须是“自我”。在它访问之前,它似乎与实例变量的名称相反。
也许我应该将这个问题分解为:
答案 0 :(得分:5)
不确定。如果您需要在-init
和-dealloc
以外的时间更改此变量的值,则使用@property
表示您可以让编译器为您处理内存管理。
答案 1 :(得分:1)
我通常不使用界面构建器,但我认为您总是需要IBOutlets的属性。我刚刚回答了一个问题,因为他没有这个问题。你可能没有(我不知道),但内存管理变得更容易。
就任何其他实例变量而言,使用属性的唯一原因是使内存管理更容易:
self.object = newObject;
替换
[object release];
object = [newObject retain];
如果您不打算在课堂之外使用您的属性,您可以在.m文件中声明它,就像使用私有方法一样。这样,其他课程就不会意识到你的财产的存在。