2012-10-01 142 views
3

我有拖放出口产生一个问题,因为某些原因停止的Xcode产生@synthezise到.m文件,将@property正确添加到.h文件。Xcode的出口产生不产生@synthezise

此外,我觉得很奇怪,一个@interface块添加到.m文件,甚至因此与@interface .h文件存在。

@interface BlahController { 

} 

@implementation BlahController : UIViewController { 
    //Code 
} 
+3

有100万这个漂浮的问题,但基本上1)你不需要@synthesize可言了; 2)这是你的类扩展 - 一个接口只有您的m把私人的东西在这里看到。所以这是一个功能,而不是字面上的错误。 –

+0

但是,如果没有@synthezise语句,XCode不会识别变量,所以我不能像那样运行代码。这两个功能都是ios6的新功能吗? – dngfng

+0

nope它会编译得很好。如果你的xCode版本足够新,不会产生'@ synthesize',那么它就足够新以在没有它的情况下拾取变量。尝试清理项目,删除派生数据等......应该没问题。 – jackslash

回答

5

在高级谢谢卡尔Veazey,谁在评论中几乎写了这样的回答:

  1. 的接口是私有变量。
  2. “丢失” @财产必须由_variableName访问。再次

非常感谢。

+0

很高兴帮助:) –

6

我有拖放出口产生一个问题,对于一些 原因的XCode生成停止向@synthezise .m文件中, @property正确添加到.h文件。

最新版本的编译器不再需要@synthesize指令。除非您使用的@dynamic指令或提供自己的属性访问器仅定义使用@property指令的属性是足以引起访问器来合成。