What does the "strong" keyword do
I downloaded the Xcode 4.2 developer preview version and I created a cocoa application. But I found a very weird syntax in the delegate class:
@property (strong) IBOutlet NSWi开发者_C百科ndow *window;
What does this mean? And the compiler can't even compile it.
Thanks in advance!
It indicates that this property is a strong relationship—an ownership. It's ARC's version of the retain
keyword in the same context.
And the compiler can't even compile it.
It's valid ARC code, so if your tools support ARC, they certainly should be able to compile it.
Make sure that you're using Xcode 4.2 or later, and that you have the project's compiler choice set to Clang (“Apple LLVM Compiler”).
Strong refers to the automatic reference counting (ARC) that is arriving in the new LLVM compiler, part of Xcode 4.2 when it's released. Presently, Xcode 4.2 preview is still under NDA - post any questions to the developer forums by logging in to your developer account.
See this good weblog post.
精彩评论