1

我有 Xcode 4.5。我观察到一个非常奇怪的行为。在以前版本的 Xcode 中,每当我控制将出口从 nib 拖动到 .h 文件时,它会自动生成 getter 和 setter,并且 @synthesize属性会清楚地显示在 .m 文件中。但是,如果我在 Xcode 4.5 中做同样的事情@synthesize 属性就不会出现。结果,当我尝试在 Xcode 4.3 或更低版本中运行使用 Xcode 4.5 创建的项目时,它会显示错误。当我手动编写 @synthesize 时,它​​工作得非常好。任何帮助是极大的赞赏。

4

2 回答 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 回答