1
我剛纔問了一個類似的問題,但我明顯錯過了一些東西。如何更新不同ViewController中的數據並將其顯示在父級?
我有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;
}
當我的新的控制器出現在屏幕上時,該數據存在並且可以使用,但任何改變我米當我點擊細節編輯器控制器中的後退按鈕時,沒有發回父控制器。
我需要做些什麼才能使這個值在這個區域變化?
由於提前,
我很確定我在父視圖中使用NSFetchedResultsController,並且在ParentController中有controllerDidChangeContent委託。我還應該做什麼? – Anonymouslemming 2010-02-17 16:34:13
保存上下文作爲委託不會觸發,直到調用保存。 – 2010-02-17 17:16:49