我有下面的代码将调用模态视图。我在呈现视图控制器时工作正常,但是当我关闭它时,它崩溃了
_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
。这会是个问题吗?