2012-12-08 36 views
2

我創建了一個名爲JWTextView的自定義NSTextView子類。它是一個單獨的Xcode項目的一部分。該項目的目標是創建一個包含此類的靜態庫。我現在將這個子項目添加到我的主項目MainProject/Libraries/JWKit(在Finder中),並將其添加到Xcode中。我讓我的主項目的目標取決於子項目的圖書館目標,並將我的主要目標鏈接到圖書館。我還將MainProject/Libraries/**添加到庫和標題搜索路徑。Interface Builder加載錯誤的類

現在我試圖在我的主項目中使用這個視圖。我給我的一個xib添加了一個NSTextView,並將它的類更改爲JWTextView。我的代碼中還有一個IBOutlet JWTextView,並在用戶交互時調用一些方法。 JWTextView.h已導入。一切都編譯文件。

但是,一旦我調用一個方法上,我在我的JWTextView子類實現這個文本視圖,應用程序崩潰與無法識別的選擇錯誤:

-[NSTextView myCustomMetod:]: unrecognized selector sent to instance 0x101901a80 

我檢查,它實際上是一個NSTextView例如,甚至強硬的伊娃也是JWTextView,我在IB中設置了課程。

如果我只是將類添加到我的主項目它可以正常工作,但不是作爲一個子項目和一個靜態庫。

+0

在這裏找到了解決方案:http://stackoverflow.com/questions/1725881/unknown-class-myclass-in-interface-builder-file-error-at-runtime – Jawap

回答

0

編譯器優化了它,因爲我沒有在名稱的任何位置引用類(除了看起來沒有幫助的ivar)。

添加[JWTextView class];applicationDidFinishLaunching:修復了這個問題。

+1

如何使用'-ObjC'鏈接器開關將您的庫鏈接到應用程序目標時,而不是您的解決方法? – Till

+0

更好,謝謝。 – Jawap