【问题标题】:prepareForSegue function not called with delegate?prepareForSegue 函数没有被委托调用?
【发布时间】:2012-08-09 09:05:02
【问题描述】:

我添加了一个带有静态单元格的UITableViewController。我有一个条形按钮“保存”,但是当我单击该按钮时,根本不会调用 prepareForSegue 方法。 这是我的代码:

-(void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([segue.identifier isEqualToString:@"AddCustomer"]) {
        UINavigationController *navigationController = segue.destinationViewController;
       AddCustomersViewController *addCustomersViewController = [[navigationController viewControllers] objectAtIndex:0];
        addCustomersViewController.delegate = self;
    }
}

这是我的委托方法

 -(void) customerDidSave:(AddCustomersViewController *)controller newCostomer:(Customers *)customer
    {
        [self dismissViewControllerAnimated:YES completion:nil];
        [self.customers addObject:customer];
        [self.tableView reloadData];
    }

我不知道是什么问题。有任何想法吗?

【问题讨论】:

    标签: objective-c ios5 delegates storyboard segue


    【解决方案1】:

    是的,你的 segue 没有连接到 IB 中的视图控制器类,或者视图控制器的类名没有设置为你的视图控制器类

    【讨论】:

      【解决方案2】:

      替换为;

      if ([segue.identifier isEqualToString:@"AddCustomer"]) {
      [[segue destinationViewController] setDelegate:self];
          }
      

      这是不必要的,可能是导致问题的原因 - [[navigationController viewControllers] objectAtIndex:0]

      【讨论】:

        猜你喜欢
        • 2015-03-18
        • 1970-01-01
        • 2022-01-22
        • 2010-11-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-02-20
        相关资源
        最近更新 更多