我前一段时间问了一个类似的问题,但我显然遗漏了一些东西。
我有2个视图控制器 - 一个显示数据,另一个显示数据。在我的第一个控制器中,我创建了我的对象:
thing = [NSEntityDescription insertNewObjectForEntityForName:@"Thing" inManagedObjectContext:managedObjectContext];
thing.DateTime = [NSDate date];
thing.aNumber = [NSNumber numberWithInt:12000];
在didSelectRowAtIndexPath方法中,我创建了一个新控制器并添加了一些这样的数据:
ThingDetailController *thingDetailController = [[ThingDetailController alloc] initwithDateTime:thing.DateTime];
thingDetailController.managedObjectContext = self.managedObjectContext;
[[self navigationController] pushViewController:thingDetailController animated:YES];
[thingDetailController release];
在我的initWithDateTime初始化程序中,我将传递给我的ThingDetailController.dateTime对象的DateTime:
- (id)initWithDateTime:(NSDate *)dateStamp {
dateTime = dateStamp;
return self;
}
当我的新控制器出现在屏幕上时,该数据存在且可用,但当我点击详细编辑器控制器中的后退按钮时,我在那里所做的任何更改都不会发送回父控制器。
我需要做些什么才能在该区域更改此值?
提前致谢,
答案 0 :(得分:1)
数据已更新,但视图不会自动从该数据刷新。如果您的第一个视图控制器是UITableViewController
,那么您应该使用NSFetchedResultsController
并使用其委托方法来检测数据更改。否则,除非您说明,否则您的视图不知道数据已更改。