わかりました、これはかなり奇妙なエラーです。UIViewController
サブクラスと関連する Xibがあります
これは、アウトソーサーによって最初に構築された継承されたプロジェクトの一部であり、多くのプロパティとメソッドの名前のスペルが間違っていcategorys
ます。categories
merchantes
merchants
don
done
これらのほとんどのリファクタリングは簡単で、XCode のシンボルの名前変更リファクタリング ツールはそれらを問題なく処理しました。
ただし、問題の xib とコントローラーでは、リファクタリング後にいくつかの実行時エラー、つまりthis class is not key value coding-compliant
とunrecognised selector
エラーが発生します。これらは両方とも古い名前IBOutlet
とIBAction
名前を付けています。
名前をgrepしても表示されず、特にxibをXMLソースとして検索しても表示されません。
修正された名前への参照と他のすべての呼び出しを維持しながら、問題のある2つのシンボルを追加することで、これを回避しました。(つまり、古い名前は他のコードや xib 参照にリンクしていません。)
問題は、なぜこれらの古いシンボル名がどこで呼び出されているのかということです。
(注: すべての IB 参照はチェックされており、プロジェクトは数回クリーンアップされています。)
問題の参照は次のとおりです (IB で正しくマッピングされています)。
ソースビューに表示される接続...
古い参照 " navTitleLavel " と "donAction" は、ソースから削除された場合にエラーをスローすることに注意してください。
現在修正済み
(何もせずに、キャッシュがシンボルを保持していると仮定します)
以下の私の回答を参照してください。シンボル参照がどこかにキャッシュされているようで、追加のアクションなしではエラーはスローされなくなりました (古い名前参照を削除するとき)。
これはプロジェクトのクリーニングに耐性があることに注意してください。