【发布时间】:2013-01-11 10:46:31
【问题描述】:
之前我在 Snow Leopard 上使用 XCode 4.2 很长时间。 我已经在 iOS 6 SDK 和 ARC 上使用 XCode 4.5 直接跳转到 Mountain Lion。
对我来说发生了很多变化。只是想知道,默认变量的命名方式是否发生了变化?
因为在旧版 XCode 中,如果我自己不声明 ivar,它将采用与属性相同的名称。
在 4.5 中,我声明了一个属性(不再需要综合!)。
在覆盖的 setter 中,我尝试使用与属性同名的变量,比如 abc。
但 XCode 无法识别它并给我 _abc 的建议!
自动生成的 ivar 现在是否以 _ 开头?
【问题讨论】:
-
太糟糕了!打破向后兼容性!如果我有一个用 XCode 4.2 编写的代码,那么它不会在这里编译。虽然新的与输入参数名称和实例变量名称分开的自动生成器模板很好地工作。在较旧的 XCode 中,这会给我带来问题。
-
从下面的答案中可以清楚地看出在这种情况下会发生什么。我收回关于向后兼容性的话!
标签: objective-c ios6 xcode4.5