2012-01-30 87 views
0

我有一個Core Data的問題,我試圖從與第一個對象的關係中加載第二個管理對象。但在某些情況下,第二個管理對象是「故障」,程序崩潰而不是加載與第二個管理對象相關的信息。那麼有什麼辦法強制託管對象在訪問時加載到內存中?還是必須等到我嘗試在數據加載到內存之前直接訪問第二個管理對象中的屬性?強制核心數據管理對象加載?

+0

請顯示錯誤消息和您用於訪問該對象的代碼。艾薩克是對的。你的「錯誤」的對象不是你的想法。可能你失去了對第一個對象的引用,或者對第二個對象的引用沒有正確配置或者沒有指向第二個對象。 – Jim 2012-01-30 19:42:07

回答

0

CoreData理論上通常根據各種條件自動處理被管理對象的故障和人口。

根據你所描述的內容,你不應該明確地做任何事情來加載相關的託管對象。當你訪問一個相關的對象時,那個被管理的對象應該以和你自己直接訪問它相同的方式加載。

所以我的猜測是這個問題不是出現故障(儘管對象可能確實顯示故障狀態),而是完全是其他的東西。在這一點上,潛在的問題可能需要廣泛的具體解決,但我可能會看看你的逆關係,並確保這些關係正確構建...

0

如果您嘗試訪問在另一個上下文中已被刪除的故障。 CoreData將無法獲取該故障的數據。

您可能還在訪問一個從未保存的對象(儘管如此)。

如果情況並非如此,那麼您可能會遇到一些線程問題。你看到的確切的錯誤/異常是什麼?