0

所以,我有一个主细节应用程序。到目前为止,在启动​​时创建了一个对象并将其添加到主列表中,详细视图也可以正常工作。

我想做的是让用户通过按下按钮将对象添加到主列表。不过,我不需要新的视图,我想为此部分使用标准的详细视图。

当用户点击“添加”按钮时,应该创建一个新对象,然后进入该对象的详细视图。我想,“嘿,为什么不使用标准的 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的标识符。

结果:没有!该方法不会在按钮点击时调用。

我已确保我的按钮已连接到此方法(但它确实在文档大纲中显示为展开转场)。

关于出了什么问题的任何想法?

4

1 回答 1

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];
}

希望这可以帮助亚龙

于 2013-04-05T08:01:57.723 回答