如果用戶沒有最終修改新條目(這發生在插入操作上),則以下代碼將刪除核心數據對象。根視圖控制器創建實體並傳遞給我的視圖的引用。如果用戶在我的視圖上點擊「完成」按鈕,它會正常工作,但如果他們使用導航欄上的「後退」按鈕向後導航,則它返回的根視圖將永遠掛起。在從UINavigationController彈出視圖之前刪除核心數據對象
我在做什麼明顯錯誤?我已經考慮過等待創建實體,直到用戶完成視圖爲止,但是將來這個視圖還將處理編輯現有實體的操作,所以我最好將當前實體傳遞給此視圖的方法。
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
// If the baby has no name, delete the Baby object that the root view
// already created. Otherwise save it.
NSManagedObjectContext *context = self.baby.managedObjectContext;
if ([self.babyNameField.text length] == 0)
[context deleteObject:baby];
// Save
NSError *error = nil;
if (![context save:&error]) {
// unresolved jmu - handle error
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
}
}
你在哪兒分配'寶貝'?你可以發佈當控制檯崩潰時顯示的消息嗎? – FelixLam 2010-02-14 16:45:27