我的应用程序存在一个小问题,我在那里进行的调试必须在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;
}
}
然而,奇怪的是,如果我们起飞//我再次运行我输入的数据,然后保存我,我可以编辑或添加它们。 这两行可以理解这个问题吗?
答案 0 :(得分:0)
如果您使用UITableView
,则应将NSManagedObjectModel
代码移至tableView:didSelectRowAtIndexPath
方法,然后将该对象作为segue的发件人发送。