35

了解しました。できるだけ簡単に説明します。キーボードの上にあるUIToolbarが欲しかったのですが、それを理解するのに時間がかかり、最終的にはそうしましたが、の*次へ*のボタンに関数を追加しようとすると、すぐにプログラムがコンパイルされませんでした

エラーメッセージ全体はここで見ることができます:

2012-06-20 05:36:55.276 KegCop [79460:fb03] *キャッチされなかった例外'NSUnknownKeyException'、理由:'[setValue:forUndefinedKey:]によるアプリの終了:このクラスは、実行されたキーのキー値コーディングに準拠していません。」

*まずスローコールスタック:(0x134a022 0x1733cd6 0x1349ee1 0xd31022 0xca2f6b 0xca2edb 0xcbdd50 0x5a571a 0x134bdea 0x12b57f1 0x5a426e 0x7adeef 0x7ae03e 0x382d7a 0x382ff8 0x38217f 0x391183 0x385634 0x391c38 0x1f84ef5 0x131e195 0x1282ff2 0x12818da 0x1280d84 0x1280c9b 0x381c65 0x383626 0x2a8d 0x29f5は0x1)終了例外(lldb)を投げると呼ばれます

@Abizernは、キー値コーディングガイドに関するAppleDocを読むべきだと提案しました。とにかくそれは超遅い、または超早いですが、あなたはそれを見ます。更新されたプロジェクトはここで見つけることができます:https ://github.com/ipatch/KegCop

zipをダウンロードしてビルドしてみてください。そうすれば、私が話していることがわかります。エラーはおそらくViewControllerWelcome.mファイルのどこかにあります。

4

6 に答える 6

69

ストーリーボードまたはxib(使用している方)でViewControllerWelcomeオブジェクトを探します。このエラーの原因として最も可能性が高いのは、doneそのクラスのコードに存在しない、呼び出されたアクションまたはアウトレットへの接続が何かにあることです。

于 2012-06-20T11:15:46.973 に答える
35

これを確認する最も簡単な方法は、ストーリーボードビューでコントローラーをCtrlキーを押しながらクリックし、結果のポップアップで黄色の警告マークが横にあるものを探すことです。アウトレット名の横にある(x)を押して削除するだけです。

于 2013-03-17T17:17:11.880 に答える
4

ストーリーボードを使用している場合は、すべてのViewControllerをクリックして、それらの接続インスペクターを選択します。感嘆符が出ているかどうかを確認します(接続が失われた場合)。

それらを適切に削除してから、プロジェクトを再実行してください。

于 2013-09-18T14:26:10.313 に答える
0

同じ問題が発生しました。ビューコントローラにxibを使用しましたが、削除しました。ただし、コードでは、接続は削除されたxibから接続を取得します。したがって、歩き回る方法は、ビューコントローラ用の新しいxibを作成することです。その後、問題は解決しました。

于 2013-06-22T07:18:15.547 に答える
0

私の場合、それはxcodeの奇妙なキャッシュでしたが、IBOutletsへのすべての削除された参照がまだクラッシュしていました。IBOutletsは私のファイルの古いバージョンを指していましたので、ファイルを削除して追加したり、ペン先からすべての参照アウトレットを削除したりすることさえできませんでした...

SOLUTION: xcodeを閉じることがトリックになり、プロジェクトのクリーニング/ディープクリーニングも役立つ可能性があります。

于 2015-07-23T23:28:45.890 に答える
-2

私の状況では-all_load、Xcodeがライブラリのバイナリコードを削除しないように、「その他のリンカーフラグ」を追加しました。

于 2015-05-13T20:03:36.950 に答える