我有Xcode 4.5。我观察到一种非常奇怪的行为。在以前版本的Xcode中
每当我控制将笔记从笔尖拖到.h文件时,它就会自动生成getter和setter ,{。1}}属性会清楚地显示在.m文件中。但是,如果我在Xcode 4.5中执行相同的操作,则@synthesize
属性不会显示。因此,当我尝试在Xcode 4.3或更低版本中运行使用Xcode 4.5创建的项目时,它会显示错误。当我手动编写@synthesize时,它完全正常。非常感谢任何帮助。
答案 0 :(得分:3)
您不再需要@synthesize
属性,编译时会在编译期间将其添加到您的代码中。
这是Apple最新改进编译器的新功能。
如果你愿意,你可以@synthesize
,它会花费更长的时间并且有额外的代码行。默认情况下,名为myProperty
的属性将自动生成名为_myProperty
的iVar。
答案 1 :(得分:2)
Xcode 4.5包含一个较新版本的clang,即编译器,它能够自动合成属性。所以你的观察是预期的行为。如果要添加@synthesize
指令,则必须手动执行此操作或使用旧版本的Xcode。