我有 Xcode 4.5。我观察到一个非常奇怪的行为。在以前版本的 Xcode 中,每当我控制将出口从 nib 拖动到 .h 文件时,它会自动生成 getter 和 setter,并且 @synthesize
属性会清楚地显示在 .m 文件中。但是,如果我在 Xcode 4.5 中做同样的事情,@synthesize
属性就不会出现。结果,当我尝试在 Xcode 4.3 或更低版本中运行使用 Xcode 4.5 创建的项目时,它会显示错误。当我手动编写 @synthesize 时,它工作得非常好。任何帮助是极大的赞赏。
问问题
1077 次
2 回答
3
您不再需要@synthesize
属性,这是在编译期间由编译器添加到您的代码中的。
这是 Apple 对编译器的最新改进中的一项新功能。
如果你愿意,你可以@synthesize
,它只需要更长的时间并且有额外的代码行。默认情况下,名为myProperty
, 的属性将自动具有名为 的 iVar _myProperty
。
于 2012-11-15T11:20:24.950 回答
2
Xcode 4.5 包含更新版本的 clang,即编译器,它能够自动合成属性。所以你的观察是预期的行为。如果您想添加@synthesize
指令,您必须手动执行此操作或使用旧版本的 Xcode。
于 2012-11-15T11:20:22.663 回答