2011-04-30 80 views
0

我的Xcode 4只死機了,我得到編譯錯誤:Xcode4崩潰會使應用程序構建失敗

未知類型名稱 'SecondViewController'

在@interface代碼塊

SecondViewController *sms; 

and

屬性與 '保留' 屬性必須 是對象類型

@property(nonatomic,retain) SecondViewController *sms; 

但是我導入SecondViewController.h。相同的代碼在崩潰之前工作。

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

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

編輯:我意識到這個錯誤occures因爲這些類導入對方。任何人都可以描述爲什麼這是錯的?

有什麼建議嗎?

+0

你能後的SecondViewController頭文件和文件你在哪裏得到這些錯誤? – drewag 2011-04-30 16:10:00

+0

我編輯了我的問題 – 2011-04-30 16:56:00

+1

SecondViewController.m是否顯示在項目導航器 - >第一項/您的項目 - >右窗口目標 - >構建階段 - >編譯源? – 2011-04-30 17:34:00

回答

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文件的唯一原因是:

  • 框架進口(即)
  • 你需要使用的協議