在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”的問題。