我有一对多的关系表格反馈给反馈中的问题。删除规则设置为问题中的Nullify和反馈中的级联(以便在删除反馈时删除其所有问题,并在删除问题时将其指针设置为feedback.questions中的null)。
问题是当我删除问题(只是反馈中存在的许多问题)时,我无法访问反馈!虽然实际的条目确实存在于DB中(用MesaSQLite检查) 代码如下:
FeedbackQuestion * questionToDelete = [FeedbackQuestion findByQuestionId:[entryID integerValue]];
DLog(@"Deleting FeedbackQuestion with ID: %@", questionToDelete.questionID);
success = [questionToDelete MR_deleteEntity];
//success is 1 here
***
// Accessing the feedback which question was deleted
Feedback * feedback = [Feedback findByFeedbackId:feedbackId];
这里的反馈为空。为什么?我做错了什么?
答案 0 :(得分:13)
嗯,在你的“// success is 1 here”注释行后可能会尝试以下行:
[[NSManagedObjectContext defaultContext] saveToPersistentStoreAndWait];
或者,如果您没有启用“速记模式”:
[[NSManagedObjectContext MR_defaultContext] MR_saveToPersistentStoreAndWait];