NSMutableArray prepareForSegue

时间:2015-06-16 14:37:36

标签: ios objective-c core-data

我的应用程序存在一个小问题,我在那里进行的调试必须在prepareForSegue中发生冲突:让我解释一下 我有一个UITableView,其中包含我编写的数据数组。 然后我有另一个数组,其中包含用户必须编辑和保存的xcdatamodel数据。

如果我在调用单元格崩溃时使用此屏幕prepareForSegue运行。

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
   if ([[segue identifier] isEqualToString:@"DetailSchedule"]) {
      NSManagedObjectModel *selectedSche = [schedule objectAtIndex:[[self.tableView indexPathForSelectedRow] row]];
      DetailMainHallTableViewController *destViewController = segue.destinationViewController;
      DetailMainHallTableViewController *dc = segue.destinationViewController;
      NSIndexPath *indexPath = [self.tableView indexPathForCell:sender];
      dc.mainhall = self.myArraySchedule1[indexPath.row];
      destViewController.sche = selectedSche;
    }
}

但如果我在该应用程序的屏幕上运行prepareForSegue,那么我没有保存输入的数据

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
   if ([[segue identifier] isEqualToString:@"DetailSchedule"]) {
       //NSManagedObjectModel *selectedSche = [schedule objectAtIndex:[[self.tableView indexPathForSelectedRow] row]];
       DetailMainHallTableViewController *destViewController = segue.destinationViewController;
       DetailMainHallTableViewController *dc = segue.destinationViewController;
       NSIndexPath *indexPath = [self.tableView indexPathForCell:sender];
       dc.mainhall = self.myArraySchedule1[indexPath.row];
       //destViewController.sche = selectedSche;
    }
}

然而,奇怪的是,如果我们起飞//我再次运行我输入的数据,然后保存我,我可以编辑或添加它们。 这两行可以理解这个问题吗?

1 个答案:

答案 0 :(得分:0)

如果您使用UITableView,则应将NSManagedObjectModel代码移至tableView:didSelectRowAtIndexPath方法,然后将该对象作为segue的发件人发送。