我有一個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開發新手,不確定是否有更好的/首選的方法來做到這一點?