2012-02-23 55 views
1

這可能是一個非常簡單的問題。我在一個sql lite db中有一堆東西。我可以檢索這些東西,並將其存儲到數組中。當我遍歷該數組與for (MyCustomMo *mo in myDataArray)我可以訪問託管對象屬性很好,例如, mo.name。當我得到同樣的數組的對象與[myDataArray objectAtIndex:index]我得到一個MyCustomMoCore Data Managed Object屬性返回null

到目前爲止,一切工作正常,但是......

後來*但是當我嘗試訪問該對象,我得到空的屬性。我需要以不同方式使用[myDataArray objectAtIndex]嗎?

+0

您是否嘗試強制保留該對象?它可能發生,對象從內存中以某種方式釋放 – holographix 2012-02-23 11:13:35

+0

「稍後」有多少?同時發生了什麼?如果記錄第二次從陣列中出來的對象的值,你會看到什麼? – jrturton 2012-02-23 11:14:48

+0

@holographix如果有問題,我正在使用ARC。我現在沒有手頭的代碼,對不起。 – JHollanti 2012-02-23 11:17:14

回答

5

好吧,我明白了。它不工作的原因是'因爲我在viewDidLoad中使用本地ManagedObjectContext。我沒有想到,ManagedObject需要延遲加載屬性時才需要ManagedObjectContext。

+0

感謝您回來並分享您的解決方案。我沒有意識到CoreData中的延遲加載,現在我的類似問題的解決方案似乎非常明顯! – Dermot 2013-10-21 02:09:13

+0

我的榮幸:)很高興它對某人有用。 – JHollanti 2013-11-03 18:15:21