モーダルビューを呼び出す以下のコードがあります。View Controller を表示するときは正常に動作しますが、それを閉じるとクラッシュします
_surveySummaryTableViewController = [[UITableViewController alloc] initWithStyle:UITableViewStyleGrouped];
[_surveySummaryTableViewController setTableView:_surveySummaryTableView];
UIBarButtonItem *doneItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(closeModalView:)];
[[_surveySummaryTableViewController navigationItem] setRightBarButtonItem:doneItem];
[[_surveySummaryTableViewController navigationItem] setTitle:@"Response Summary"];
navController = [[UINavigationController alloc]initWithRootViewController:_surveySummaryTableViewController];
[navController setModalPresentationStyle:UIModalPresentationFormSheet];
[navController setModalTransitionStyle:UIModalTransitionStyleFlipHorizontal];
....
[self presentViewController:navController animated:YES completion:nil];
モーダル ビューで [DONE] ボタンをクリックすると、closeModalView:
以下のメソッドが呼び出されます。
- (void)closeModalView:(id)sender
{
[self dismissViewControllerAnimated:YES completion:nil];
}
奇妙な部分は、以下の行をコメントアウトすると、却下が正常に機能することです。しかし、当然のことながら、ビューは何もなくても空になりますTableView
。私は何を逃した可能性がありますか?SOで他の人が投稿した他の提案を試しましたが、うまくいきませんでした。前もって感謝します。
_surveySummaryTableViewController = [[UITableViewController alloc] initWithStyle:UITableViewStyleGrouped];
//[_surveySummaryTableViewController setTableView:_surveySummaryTableView]; //This line commented out
UIBarButtonItem *doneItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(closeModalView:)];
[[_surveySummaryTableViewController navigationItem] setRightBarButtonItem:doneItem];
[[_surveySummaryTableViewController navigationItem] setTitle:@"Response Summary"];
===追加情報===
上記の行がコメントされているときに機能することを考慮して、テーブルは実際に custom UITableViewCell
. それは問題になるでしょうか?