iOS Xcode, 解決“Could not insert new outlet connection”的問題。

theFeng-發表於2014-10-17

在Xcode中,我們可以在StoryBoard編輯介面或者是xib編輯介面中通過“Control鍵+拖拽“的方式將某個介面元素和對應的程式碼檔案連線起來,在程式碼檔案中建立outlet。


不過,如果你的運氣不太好,執行以上操作的過程中你可能會遇到下面這樣的錯誤:

Could not insert new outlet connection: Could not find any information for the class named "xxx".

其中的“xxx”就是你的目的碼檔案中的類名。


如果你遇到這樣的問題,拿著上面的錯誤訊息去百度一下會發現很多相關的內容,有各種各樣的解決方法,不過效果就眾說紛紜,有人說這個方法好用,有人說那個方法好用,在這裡就整理一下常見的一些情況和對應的解決方法。


首先第一種情況是最簡單的,也是最容易被忽略的,就是你在新建類的時候沒有選擇將這個類加入到對應的“Target”中。

檢查方法很簡單,選中你需要操作的類的.m檔案,在“File inspector”介面的“Target Membership”中確認對應的“Target”有沒有選中,如果沒有選中就說明你在建立類的時候犯了各小小的錯誤。

修改方法很簡單,直接在“File inspector”介面的“Target Membership”中選上對應的target就好了。


如果你的情況和以上不符,有可能是你的專案Derive檔案有點問題,解決方法有下面幾種,原理都差不多,就是嘗試重建專案的一些後臺檔案。


1. 重新將檔案加入專案

操作步驟就是選中出問題的.m和.h檔案,點刪除鍵,然後選“Remove Reference”,這樣就不會真正刪除檔案。接著選“File -> Add Files to ...”選單,在檔案選擇介面選擇剛才的.m檔案和.h檔案將他們重新加入專案中。


2. 直接刪除DeriveData

操作步驟是關閉當前專案,然後關閉Xcode,然後通過Terminal或者是Finder找到下面的目錄:

~/Library/Developer/XCode/DerivedData

在裡面找到以你的專案開頭的檔案,將他們刪除。

接著重新啟動Xcode


3. 在Organizer中刪除專案的DeriveData

如果你對Mac作業系統不瞭解,不知道如果操作第2種解決方法,有一個更加直接的方法,就是在Xcode中選擇“Windows->Organizer”,然後選擇“Projects”,選中你正在處理的專案,點選“DeriveData”對應的“Delete”按鈕,Xcode會刪除該專案的DeriveData,然後自動重新生成一個。


希望上面的方法可以幫助你解決“Could not insert new outlet connection”的問題。

相關文章