Androidはワンツーパンチ 三歩進んで二歩下がる

プログラミングやどうでもいい話

Appleの公式iOSチュートリアル「FoodTracker」でTerminating app due to uncaught exception 'NSUnknownKeyException', reason: '[ setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key

Appleの公式iOSチュートリアル「FoodTracker」をちびちびやっています。
https://developer.apple.com/library/content/referencelibrary/GettingStarted/DevelopiOSAppsSwift/index.html#//apple_ref/doc/uid/TP40015214-CH2-SW1developer.apple.com

Xcodeのバージョンは9.0、iOS SDK 10, Swift 3
を使用してます。

エラー対処のちょっとした自分用メモです。全部記録してないので中途半端です。

ここのページの下の方、
To create a setDefaultLabelText action in the ViewController.swift code
のあたり。
https://developer.apple.com/library/content/referencelibrary/GettingStarted/DevelopiOSAppsSwift/ConnectTheUIToCode.html#//apple_ref/doc/uid/TP40015214-CH22-SW1

StoryboardのUIコンポーネントのアクションを設定するところあたりで早速クラッシュしました。
Set Default Label Textのボタンからコントロールキーを押しながらソースコードにドラッグしてソースコードと結びつけるんですが、
何回かやってしまったのが原因か参照が間違ってしまった(名前の間違いか?)らしく、
ビルドは成功するのですが実行時にクラッシュしました。
クラッシュ発生ポイントのソースが表示されるのですが、意味がわからず。

ログはこのようなものが表示されました。

Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[ setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key 

こちらを見て、一度ソースコードとのコネクションを削除してから、もう一度ソースコードとの接続をやり直して対処しました。

stackoverflow.com


ソースコードとのコネクションを削除するのは、
Storyboardでフィールドを右クリックで設定が出るので、
ViewControllerとある箇所のばってんを押して削除します。

f:id:sakura_bird1:20170928010738p:plain