「無法找到接口聲明錯誤...」我遇到了似乎對我沒有任何意義的Objective-C問題。我是一位相對熟練的ObjC程序員,理解整個「前向聲明」的概念,但是這個讓我撓頭。所以這裏的交易:@class
ClassA是我的Xcode項目中的一個類,只是項目。 ClassB是ClassA的一個子類,它是公共的,並被導入到我的框架頭中。
我得到「無法找到'ClassA'的接口聲明,'ClassB'的超類...」錯誤時,建設。我已經將@class ClassA;
前向聲明放在ClassB.h中,但這似乎不能解決問題。當我將@class ClassA;
更改爲#import ClassA.h
時,它工作正常。但是,由於ClassA僅用於項目,因此依賴項目無法構建ClassB,因爲它無法訪問ClassA的源。
任何幫助將不勝感激,我希望這是有道理的。謝謝!
嗯,我想盡可能多。但是,這使我不確定在這裏做什麼。我想我留下的唯一路線是公開超類,並簡單地記錄說不建議使用超類。 – Grimless 2010-08-07 19:56:30
啊,是的。抽象的超類。我建議你閱讀關於Class Clusters的內容,因爲它們會延續類似的設計模式。 – bbum 2010-08-07 20:51:41
不幸的是,我不相信類集羣解決這個問題。類集羣隱藏提供特定功能的子類。我試圖隱藏*超類*,同時仍然公開可用的子類。無論如何,謝謝你的洞察力! – Grimless 2010-08-08 00:17:36