問題は、アイテムを編集するのと同じ方法でアイテムを追加していないことです。これを見てください:
if ([segue.identifier isEqualToString:@"AddItem"]){
UINavigationController *navigation = segue.destinationViewController;
AddItemViewController *controller =(AddItemViewController *) navigation.topViewController;
controller.delegate = self;
} else if ([segue.identifier isEqualToString:@"EditItem"]){
UINavigationController *navigation = segue.destinationViewController;
AddItemViewController *controller = (AddItemViewController *)navigation;
controller.delegate = self;
//
NSIndexPath *indexpath = [self.tableView indexPathForCell:sender];
controller.itemToEdit = _items[indexpath.row];
}
AddItem
セグエでは、次のようなビュー コントローラーを取得していることに注意してください。
AddItemViewController *controller =(AddItemViewController *) navigation.topViewController;
しかし、EditItem
セグエの場合、次のようになります。
AddItemViewController *controller =(AddItemViewController *) navigation;
ストーリーボードでは、AddItem
セグエはナビゲーション コントローラーに接続され、次に に接続されますAddViewController
が、EditItem
セグエは に直接移動しAddViewController
ます。
接続EditItem
先と同じナビゲーション コントローラAddItem
に接続すると、問題が解決するはずです。