所以,我有一个主细节应用程序。到目前为止,一个对象在启动时创建并添加到主列表中,详细视图也可以正常工作。
我想做的是让用户通过按下按钮将对象添加到主列表。我不需要新的视图,但我希望使用此部分的标准详细信息视图。
当用户点击“添加”按钮时,应创建一个新对象,然后进入该对象的详细视图。我想,“嘿,为什么不使用标准的segue呢?” 所以我在MasterView中添加了 Bar Button Item 。
这是来自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”是主详细信息模板附带的标准segue的标识符。
结果:没什么!按钮点按时不调用该方法。
我已确保我的按钮已连接到此方法(但它确实显示为文档大纲中的展开segue)。
关于出了什么问题的任何想法?
答案 0 :(得分:0)
我不确定出了什么问题,但我能够使用以下代码实现所需的功能:
-(void)viewDidload {
...
self.navigationItem.rightBarButtonItem =
[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd
target:self
action:@selector(Add:)];
}
-(IBAction)Add:(id)sender
{
// Create the new item and set it as active
...
[self performSegueWithIdentifier: @"SegueName" sender:self];
}
希望这会有所帮助 亚龙