“强”关键字的作用是什么

时间:2011-07-07 15:36:45

标签: objective-c cocoa automatic-ref-counting

我下载了Xcode 4.2开发人员预览版,并创建了一个cocoa应用程序。但是我在委托类中发现了一个非常奇怪的语法:

@property (strong) IBOutlet NSWindow *window;

这是什么意思?编译器甚至无法编译它。

提前致谢!

2 个答案:

答案 0 :(得分:20)

它表明这个属性是一种强烈的关系 - 一种所有权。它是同一上下文中retain关键字的ARC版本。

  

编译器甚至无法编译它。

这是有效的ARC代码,所以如果你的工具支持ARC,他们当然应该能够编译它。

确保您使用的是Xcode 4.2或更高版本,并且您已将项目的编译器选项设置为Clang(“Apple LLVM编译器”)。

答案 1 :(得分:3)

Strong指的是到达新LLVM编译器的自动引用计数(ARC),它是Xcode 4.2发布时的一部分。目前,Xcode 4.2预览仍在NDA下 - 通过登录developer account向开发者论坛发布任何问题。

查看此好weblog帖子。