我有一个UITableView,当单元格被点击时模态地呈现一个UIViewController。 UIViewController从与被轻敲的单元格相对应的模型对象接收数据,并显示一个界面来编辑这些数据。当用户完成编辑时,按钮点击会关闭UIViewController,并将编辑写入模型对象。在UITableView和UIViewController之间共享数据模型?
请问下面的代码是否存在任何内存或设计问题?
在提出的UITableView子类实现,作为委托提出的UIViewController:
- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
UINavigationController *navigationController = segue.destinationViewController;
navigationController.delegate = this;
navigationController.dataModel = someDataModel;
}
// delegate callback
- (void) onViewControllerDone: (UIViewController *)controller {
[self.tableView reloadData];
}
中提出的UIViewController子类实现:
- (IBAction) done: (id)sender {
// directly modify dataModel passed into UIViewController with data from UI
[self.dataModel.someProperty setString: self.textView.text];
[self.delegate onViewControllerDone:self];
}
东西闻起来好笑关于通过数据模型到视图,并让视图进行更改。我是Objective-C/iOS开发新手,不确定是否有更好的/首选的方法来做到这一点?