2011-06-08 55 views
2

我創建了一組文件(基本上是一個庫)來完成我將在iOS應用中使用的任務。該庫有一個公共頭文件,用於導入所有其他頭文件,以便使用此庫的代碼只需導入一個頭文件。但是,該公共頭還定義了大多數其他文件內部使用的枚舉,因此這些文件需要導入公共頭。這會產生循環依賴關係,並且我得到與未被識別的符號有關的構建錯誤。處理Objective-C#import依賴關係

什麼是正確的方式來處理#import s在這種情況下,其中一個公共頭文件使一組庫對象可供公衆使用,但依賴文件也需要一個枚舉(實際上加上一個協議)在公共頭文件中定義?

回答

3

將類型定義提取到不同的標題中。

否則,你將不得不使用include guards - 但這真的只是圍繞着設計缺陷。

+0

好的。需要做什麼的條件是什麼?循環進口總是會導致問題?還是有其他具體情況需要將事情分解出來以避免混淆編譯器? – jrdioko 2011-06-09 17:05:47

+0

@jrdioko:是的,這是通知進口。它們在Objective-C中本質上是有問題的。 – Chuck 2011-06-09 17:27:28