9
 UIStoryboard*  sb = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
    UIViewController* vc = [sb instantiateViewControllerWithIdentifier:@"SettingsViewController"];
    [[self navigationController] pushViewController:vc animated:YES];

StoryboardのNavigationControllerからビューコントローラーをプッシュしようとすると、このエラーが発生し続けます。

*キャッチされなかった例外'NSUnknownKeyException'が原因でアプリを終了しています。理由:'[<SettingsViewController 0x1f98f100> setValue:forUndefinedKey:]:このクラスはキーキーパスのキー値コーディングに準拠していません。*まずスローコールスタック:(0x31f4a3e7 0x39c3b963 0x31f4a0d5 0x327b87d9 0x327b4543 0x31ed08a5 0x33ef5e69 0x340e5b09 0x71aa3 0x33e1b31d 0x33e9dda9 0x32859657 0x31f1f857 0x31f1f503 0x31f1e177 0x31e9123d 0x31e910c9 0x35a6f33b 0x33dad2b9 0x6567d 0x3a068b20)のlibc ++ abi.dylib:例外をスロー呼ばTERMINATE

4

4 に答える 4

4

ほとんどの場合、ストーリーボードで定義されている SettingsViewController には、keyPath と呼ばれる IBOutlet への参照が含まれていますが、keyPath はクラスで定義されていません。

解決するには、ストーリーボードでビュー コントローラーを選択し、接続インスペクター (右ペインの右端のタブ) を選択して、接続を確認します。そこにはおそらく keyPath と呼ばれるものがあり、おそらく "!" が含まれています。その近く。その 1 つ (および「!」が付いている他のもの) を削除します。

于 2013-02-18T04:33:22.310 に答える
1

これを使用して確認してください:

UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
 SettingsViewController *myVC = (SettingsViewController *)[mainStoryboard instantiateViewControllerWithIdentifier:@"SettingsViewController"];
[self.navigationController pushViewController:myVC animated:YES];
于 2013-02-18T03:53:12.767 に答える