[英]Unknown class CustomUITableViewCell in Interface Builder file xcode 8
[英]Unknown Class **** in Interface Builder file
我使用MyView
的根 class 添加了 UIView xib 文件。
我在錯誤的地方創建了它,所以把它移到了項目中。 同一個項目只是一個不同的文件夾/組。
然后我在運行時遇到問題說...
Unknown Class MyView in Interface Builder file
我不知道出了什么問題,所以我現在已經從項目和目錄中刪除了文件。
我已經使用 SublimeText2 搜索了字符串“MyView”,它在項目中的任何地方都不存在。
我已經重置了模擬器,清理了項目和構建文件夾並刪除了派生數據。
仍然得到同樣的錯誤。
任何想法我現在可以做什么?
有時 IBuilder 會漏掉customModule="AppName" customModuleProvider="target"
要修復它,請打開故事板作為源代碼並替換以下行:
<viewController storyboardIdentifier="StoryboardId" id="SomeID" customClass="CustomClass"
sceneMemberID="viewController">
對此:
<viewController storyboardIdentifier="StoryboardId" id="SomeID" customClass="CustomClass"
customModule="AppName" customModuleProvider="target" sceneMemberID="viewController">
轉到查看 -> 實用程序轉到 .m 文件的文件檢查器
打開 Target Membership 部分並確保為此 .m 文件選擇了您的目標
如果您的 Xcode 項目中有多個目標,請確保為您正在測試的目標編譯錯誤文件中提到的類。
appcode 非常固執地將舊的 xib 緩存在某處,如果您有緩存的 xib 並且它與您的控制器具有相同的名稱,它將嘗試在啟動時加載它。
刪除 .xib 后我會做什么:
第 4 步不應該是必要的,但我的感覺是沒有它我仍然看到被刪除的 .xib
好的,所以我刪除了對導致問題的類的所有引用,但仍然沒有。
但是,我還有一個名為MyViewController
的 UIViewController 子類。 這沒有被加載到任何 IB 文件中,所以我不知道它是如何導致問題的。
我將名稱更改為MyOtherViewController
。
構建 - 運行 - 有效。
我不知道如何或為什么,但它現在有效。
當我在一個文件中有多個類聲明時,我遇到了同樣的問題。 我所做的是在我的一個視圖控制器中聲明了一個 UITableViewCell 子類,而忘記將 UITableViewCell 子類'@implementation 放在視圖控制器的 .m 文件中。
根據我的經驗,上述所有解決方案都沒有奏效。 然后我不得不在所有流浪的 Xib 中重新輸入自定義類。 作為一個驚人的結果,它剛剛成功,我所做的重新連接了@interface 和 IB 之間丟失的連接。 希望有用。
在我的情況下,class 實現被包含在#ifdef
中,但#ifdef
條件有錯字,所以 class 確實丟失了
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.