What is the strong property attribute
我正在为开发人员使用Xcode测试版,并注意到一些细微的差异。其中有一个新的属性用于声明的属性。
1 | @property(strong)IBOutlet NSArrayController *arrayControl; |
我的问题是:强属性是什么意思?它是取代旧的还是全新的?我搜索过谷歌和开发人员的文档,没有找到任何东西。直到我知道它是什么,我才犹豫要不要用它。
提前谢谢
它代替了
强引用是对阻止解除分配的对象的引用。换句话说,它创建了一个所有者关系。鉴于之前您会这样做:
1 2 | **// Non-ARC Compliant Declaration @property(retain) NSObject *obj;** |
在ARC下,我们执行以下操作以确保类实例对引用的对象具有所有权兴趣(即,在拥有者为之前,无法释放它)。
1 2 | **// ARC Compliant Declaration @property(strong) NSObject *obj;** |
如我们所知,在iOS5中,我们不能释放基于弧的项目中的任何对象。因此,当我们希望保留任何对象以便在以后的阶段进一步使用,并且不希望Arc从内存中删除该对象时,我们将该对象的属性设置为"强"。