@synthesize没有显示Xcode 4.5中自动生成的属性

时间:2012-11-15 11:16:11

标签: objective-c xcode cocoa-touch synthesize

我有Xcode 4.5。我观察到一种非常奇怪的行为。在以前版本的Xcode中 每当我控制将笔记从笔尖拖到.h文件时,它就会自动生成getter和setter ,{。1}}属性会清楚地显示在.m文件中。但是,如果我在Xcode 4.5中执行相同的操作,则@synthesize 属性不会显示。因此,当我尝试在Xcode 4.3或更低版本中运行使用Xcode 4.5创建的项目时,它会显示错误。当我手动编写@synthesize时,它完全正常。非常感谢任何帮助。

2 个答案:

答案 0 :(得分:3)

您不再需要@synthesize属性,编译时会在编译期间将其添加到您的代码中。

这是Apple最新改进编译器的新功能。

如果你愿意,你可以@synthesize,它会花费更长的时间并且有额外的代码行。默认情况下,名为myProperty的属性将自动生成名为_myProperty的iVar。

答案 1 :(得分:2)

Xcode 4.5包含一个较新版本的clang,即编译器,它能够自动合成属性。所以你的观察是预期的行为。如果要添加@synthesize指令,则必须手动执行此操作或使用旧版本的Xcode。