新的Apple LLVM 4.0"默认合成"功能如何运作?

boo*_*ker 4 objective-c llvm declared-property

我正在浏览Xcode 4.4的发行说明并注意到这一点:

LLVM 4.0编译器

Xcode现在包含Apple LLVM Compiler 4.0版,包括以下newObjective-C语言功能:

  • 默认@synthesize:未实现时自动合成@property

我对这个功能很感兴趣.它是如何工作的?我试过删除它@synthesize,它不起作用.

Kaa*_*glu 7

它确实有效,确保在项目和目标设置中将编译器设置为LLVM 4.0.然后当您删除@synthesize行时,您可以通过两种方式访问​​它:

通过带有self.myProperty的访问器或通过带有_myProperty的相应实例变量(是的,自动添加了下划线).