新しいView ControllerをNavigation Controllerにプッシュする簡単なコードがあります
- (IBAction)buttonSelected:(id)sender{
caseBillingFormViewController = [[CaseBillingFormViewController alloc] initWithStyle:UITableViewStyleGrouped];
caseBillingFormViewController.returnScreen = @"FALSE";
[self.navigationController pushViewController:caseBillingFormViewController animated:YES];
}
最終行でクラッシュします:
[self.navigationController pushViewController:caseBillingFormViewController animated:YES];
なぜこれが起こっているのかわかりません。これは iOS6 に新たに追加されたものです。コードベースはアップグレード バージョン間で変更されていないため、なぜこれが起こっているのかわかりません。
私の caseBillingFormViewController は私のインターフェース内で命名されています:
CaseBillingFormViewController *caseBillingFormViewController;
self.navigationController の整合性を確認しましたが、すべてチェックアウトされています。
NSLog(@"%i",[self.navigationController respondsToSelector:@selector(pushViewController:animated:)]);
//gives 1
問題は、これが UITableView によって管理される画面にのみ表示されることです -
caseBillingFormViewController = [[CaseBillingFormViewController alloc] initWithStyle:UITableViewStyleGrouped];
//crashes
savedOrdersViewController = [[SavedOrdersViewController alloc] initWithNibName:@"SavedOrdersViewController" bundle:[NSBundle mainBundle]];
//does not crash
なぜこれが起こっているのか、誰かが光を当てることができますか?
Simulator 5.1 と Simulator 6.0 で同じコードをテストしました - エラーは後者でのみ発生します。
注意、エラーは次のとおりです。
'NSUnknownKeyException', reason: '[<CaseBillingFormViewController 0xc09c0b0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key theTableView.'