2013-08-01 102 views
5

我有反饋中的問題的一對多關係表單反饋。刪除規則在問題中設置爲Nullify,在反饋中設置爲級聯(以便在刪除反饋時刪除其所有問題,並在問題被刪除時將指針設置爲feedback.questions中的空值)。魔法記錄刪除實體問題

問題是當我刪除問題(只是從反饋中存在的很多問題),我無法訪問反饋!雖然實際的條目將在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

你以後保存了這個刪除嗎? –

+0

你可以發佈xcode的核心數據配置截圖嗎?特別是關係的屬性。 – Jon

+0

在刪除時,我的硬編碼總是返回yes。 – casademora

回答

12

嗯,也許試試下面的行之後的「//成功是1這裏」註釋行:

[[NSManagedObjectContext defaultContext] saveToPersistentStoreAndWait]; 

,或者,如果你沒有「的簡寫模式」已啓用:

[[NSManagedObjectContext MR_defaultContext] MR_saveToPersistentStoreAndWait]; 
+0

嘿,這個伎倆!你的第二種方法幫助我獲得反饋!你能否給我解釋一下 - 每次刪除某個實體時,我應該保存一個上下文嗎?我以爲'MR_deleteEntity'方法在內部完成了所有的東西 – Stas

+0

啊,相信我......我沒有一個合適的解釋! :)我處於類似的情況,只是嘗試用笏MR提供的服務。看了MR的接口之後,我偶然發現了一些「saveTo ...」方法,並開始使用它們來堅持我的更改。我認爲這完全是一個核心數據,你必須瞭解核心數據是如何工作的,以便知道你是否需要明確地堅持某些事情。 MR是一個非常好的框架,但它並不能使您無需理解核心數據 - 而且在某些領域,我仍然存在着核心數據問題的問題! –

+0

好的,謝謝,你的答案被接受) – Stas