この回答の最後に簡単な説明がありますが、最近似たような質問をいくつか見たので、少し背景を説明したいと思います。
エラーは、クラスがキー値コーディングに準拠していないキーも示しているはずです。あなたの質問の言い回しは、クラスを「キー値コーディングに準拠」するために追加できる一般的なコードがあると考えていることを示唆しています。そうではありません。
すべてのココア/ココア タッチ オブジェクトは、キー値のコーディング操作を実行できます。valueForKey:
KVC を使用すると、アクセサー メソッドを直接使用するかsetValue:forKey:
、直接使用する代わりに、アクセサー メソッドにアクセスできます。
表示されているエラーは、次の行に沿っています。
XXX - このクラスはキー YYY に準拠したキー値コーディングではありません。
XXX は問題のクラス、YYY はキーです。だからどこかで、[xxx setValue:something forKey:@"YYY"]
呼ばれています。
この時点で、あなたは「setValue:forKey
自分のコードでは使ったことがない!」と考えているでしょう。君の言う通りかもね。ただし、xib ファイルをロードするときにフレームワークによって使用されます。すべてのアウトレットはキー値コーディングを使用して設定されます。
したがって、リンク先のクラスで削除または名前変更されたものに接続されている xib にアウトレットがあります。運が良ければ、その横に小さな感嘆符が表示されます。そうでない場合は、インターフェイス ビルダーでも表示されず、xib をソース コードとして編集し、XML から削除する必要があります。