Xcode4崩溃使应用程序构建失败

时间:2011-04-30 15:56:47

标签: objective-c xcode4

我的xcode 4刚刚崩溃,我遇到了构建错误:

  

未知的类型名称   'SecondViewController'

@interface代码块中的

SecondViewController *sms;

  

具有'retain'属性的属性必须   是对象类型

@property(nonatomic,retain) SecondViewController *sms;

但是我导入了SecondViewController.h。在崩溃之前,相同的代码工作。

FirstViewController.h:http://pastebin.com/jnPKBny7

SecondViewController.h:http://pastebin.com/2D058ZAK

编辑:我意识到发生此错误是因为类互相导入。任何人都可以解释为什么这是错误的吗?

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您无法进行循环导入。我认为尽可能使用@class指令使用前向类声明是一种好习惯。对于你的情况:

FirstViewController.h:

@class SecondViewController ;
@interface FirstViewController
{
    SecondViewController * _secondViewController ;
}

@property ( nonatomic, retain ) secondViewControlller ;

@end

SecondViewController.h:

@class FirstViewController ;
@interface SecondViewController
{
    FirstViewController * _firstViewController ;
}

@property ( nonatomic, retain ) firstViewControlller ;

@end

然后在.m文件中,导入正在使用的类的.h文件。将.h文件导入其他.h文件的唯一原因是:

  • 框架导入(即)
  • 您需要使用协议