だから、私はマスターディテールアプリケーションを持っています。これまでのところ、オブジェクトは起動時に作成され、マスターリストに追加されますが、詳細ビューも正常に機能します。
私がやりたいのは、ユーザーがボタンを押してマスターリストにオブジェクトを追加できるようにすることです。そのために新しいビューは必要ありませんが、この部分には標準の詳細ビューを使用したいと思います。
ユーザーが[追加]ボタンをタップすると、新しいオブジェクトが作成され、そのオブジェクトの詳細ビューに移動する必要があります。「ねぇ、標準のセグエも使ってみませんか?」と思いました。そこで、マスタービューにバーボタンアイテムを追加しました。
これはMasterViewController.mからの私のコードです:
-(IBAction)addNewItem:(UIStoryboardSegue *)segue{
if([[segue identifier] isEqualToString:@"showDetail"]){
CoolItem *newItem;
NSDate *today = [NSDate date];
newItem = [[CoolItem alloc]initWithDate:today];
[self.dataController addCoolItemWithItem:newItem];
DetailViewController *detailViewController = [segue destinationViewController];
detailViewController.coolItem = newItem;
}
}
「showDetail」は、マスター詳細テンプレートに付属する標準のセグエの識別子です。
結果:何もありません!このメソッドはボタンタップでは呼び出されません。
ボタンがこのメソッドに接続されていることを確認しました(ただし、ドキュメントのアウトラインにアンワインドセグエとして表示されます)。
何がうまくいかないかについてのアイデアはありますか?