我有一个一对多的关系,从反馈到反馈中的问题。删除规则在 Question 中设置为 Nullify,在 Feedback 中设置为 Cascade(这样当 Feedback 被删除时,它会删除它的所有问题,当问题被删除时,它在 feedback.questions 中的指针设置为 null)。
问题是当我删除问题(反馈中存在的许多问题中只有一个)时,我无法访问反馈!虽然实际条目确实存在于数据库中(用 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];
此处反馈为空。为什么?我做错了什么?
最佳答案
嗯,试试在你的“//success is 1 here”评论行之后的以下行:
[[NSManagedObjectContext defaultContext] saveToPersistentStoreAndWait];
或者,如果您没有启用“速记模式”:
[[NSManagedObjectContext MR_defaultContext] MR_saveToPersistentStoreAndWait];
关于iphone - 魔法记录删除实体问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18000640/