2012-12-05 37 views
2

我有兩個可可觸摸類(objective-c)。並且兩個#import彼此的頭。循環頭導入,枚舉無法識別

A類的頭文件定義了一個枚舉類,該類的B頭試圖使用。由於未識別類型,B類無法編譯。

我認爲這是一個循環依賴問題,但我認爲@class不會有太大的幫助,因爲問題是與枚舉。

你有什麼建議?

+0

Class A標題在Class B標題中使用了什麼? – Daniel

+0

現在,只是班級名稱。但是(除非我的設計證明不可行),它最終將使用它的屬性和方法。 但是,反過來不是真的,B類可以不使用除A類的枚舉類型之外的任何東西。也許我可以將枚舉移動到「Common.h」頭部。 –

+0

是的,enum的「Common.h」聽起來像是一個很好的計劃。 – Daniel

回答

5

把枚舉放在它自己的頭文件中,並用@class在每個其他頭文件中聲明所需的類,所以A不需要導入B和B不需要導入A,但是會導入enum頭文件。

0

在頭文件中使用@class ClassName; 並在.m文件中使用導入。

+1

仍然不會編譯;該類型在B類中仍然未被識別。 –