我剛剛花了幾個小時在IOS中調試運行時錯誤"unrecognized selector sent to instance"
。搜索Xcode Storyboard
事實證明,無法識別的選擇器是一個錯誤的發送事件內的故事板引用選擇器,我已經改變了ViewController。
我使用"Show the Search Navigator"
工具來搜索無法識別的選擇器的源代碼,並找不到它。顯然(現在)錯誤在故事板中。
有沒有一種很好的方法來搜索故事板中可能提供代碼錯誤的線索的文本?
我剛剛花了幾個小時在IOS中調試運行時錯誤"unrecognized selector sent to instance"
。搜索Xcode Storyboard
事實證明,無法識別的選擇器是一個錯誤的發送事件內的故事板引用選擇器,我已經改變了ViewController。
我使用"Show the Search Navigator"
工具來搜索無法識別的選擇器的源代碼,並找不到它。顯然(現在)錯誤在故事板中。
有沒有一種很好的方法來搜索故事板中可能提供代碼錯誤的線索的文本?
在Xcode中使用搜索導航器不會發現無法識別的選擇器,因爲如您所述,您已經更改了該選擇器的名稱,並且搜索導航器不會搜索故事板的內容。
用鼠標右鍵單擊Xcode中的故事板文件,然後選擇打開爲>源代碼。 (編輯:最初我指示在外部文本編輯器中打開故事板文件,但這不是必需的)。使用Cmd-F在XML中搜索舊的選擇器名稱。您將查找名爲action
的XML元素,其selector
屬性等於無法識別的選擇器。
一旦你發現,檢查父XML元素,以瞭解這個連接在你的故事板中的位置。
謝謝@esker - 我的第一個問題在stackoverflow和我在一個小時內得到正確的答案!我將使用這種技術,直到Search Navigator範圍包含故事板XML - 這對我來說似乎很容易實現。 – Spidey
@Abizern:對不起,我沒有正確地通過這個問題... –