2011-12-07 65 views
1

我有下列關係有些誤差有編譯錯誤與#進口

我有2類,A類和B類 內部類的報頭,它將#IMPORT「了Bh」 B類內它會#import「啊」

我在編譯過程中出現錯誤。任何人都知道我該如何解決此問題?

錯誤看起來是這樣的: 之前的預期「GameUILayer」

+0

的目的-C標題文件不能識別的自定義對象作爲一種類型]可能重複(http://stackoverflow.com/questions/7896440/objective-c-header-file-not-recognizing-custom-object-as -a型)也http://stackoverflow.com/questions/7091778/import-in-objective-c-am-i-doing-this-wrong,http://stackoverflow.com/questions/1223914/objective- c-import-loop –

回答

1

而是在.h文件導入頭,使用前向聲明符限定符列表。因此,而不是

#import "ClassA.h" 

你使用:

@class ClassA 

,然後你用的.m文件中的import語句。

查看我的earlier answer鏈接到文檔。

+0

謝謝!你救了我的命! –

1

你正在創建一個循環依賴。一個班級應該導入另一個班級。他們不能同時進口。如果你正在做這樣的交互類,那麼應該有一個依賴層次結構。 B依賴於A,A至少依賴於根類NSObject。如果你把兩個類互相依賴,編譯器可以罵你或試圖編譯它,並最終手忙腳亂。大多數編譯器都是爲了吼你而設計的。