我正在为开发人员使用Xcode Beta,并注意到一些细微的差异。其中之一是声明属性的新属性。
@property(strong)IBOutlet NSArrayController *arrayControl;
我的问题是:强属性是什么意思?它会取代一些旧的还是全新的?我已经搜索了谷歌和开发人员文档,还没有找到任何东西。在我知道它是什么之前,我一直在犹豫使用它。
提前致谢
我正在为开发人员使用Xcode Beta,并注意到一些细微的差异。其中之一是声明属性的新属性。
@property(strong)IBOutlet NSArrayController *arrayControl;
我的问题是:强属性是什么意思?它会取代一些旧的还是全新的?我已经搜索了谷歌和开发人员文档,还没有找到任何东西。在我知道它是什么之前,我一直在犹豫使用它。
提前致谢
Answers:
retain
作为Object-C自动参考计数(ARC)的一部分,它代替了该属性。在非ARC代码中,它只是的同义词retain
。
强引用是对阻止其释放的对象的引用。换句话说,它创建了所有者关系。以前您会这样做:
**// Non-ARC Compliant Declaration
@property(retain) NSObject *obj;**
在ARC下,我们执行以下操作以确保类实例对引用对象拥有所有权权益(即,直到拥有者才能将其释放)。
**// ARC Compliant Declaration
@property(strong) NSObject *obj;**