2012-02-23 16 views
1

これはおそらく本当に簡単な質問です。私はSQL Lite DBにたくさんのものを持っています。私はそのものを取り出し、配列に保存することができます。 for (MyCustomMo *mo in myDataArray)でその配列を繰り返し処理すると、管理オブジェクトの属性にアクセスできます。 mo.name。コアデータ管理対象オブジェクトの属性がNULLを返す

これまでのところ、すべてがOK取り組んでいる、しかし...私は[myDataArray objectAtIndex:index]と同じ配列からオブジェクトを取得する際

後、私はMyCustomMoを取得する*しかし、私は、そのオブジェクトの属性にアクセスしようとすると、私はnullを取得します。どういうわけか[myDataArray objectAtIndex]を使用する必要がありますか?

+0

オブジェクトの保持を強制しようとしましたか?オブジェクトが何らかの形でメモリから解放されている可能性があります – holographix

+0

"後で"どれくらいですか?その間何が起こったのですか? 2回目に配列から出てきたオブジェクトの値をログに記録すると、何が表示されますか? – jrturton

+0

@holographix ARCを使用しています。私はすぐにコードを手元に持っていません、申し訳ありません。 – JHollanti

答えて

5

さて、私はそれを得ました。なぜなら、私がviewDidLoadでローカルManagedObjectContextを使用していたからです。 ManagedObjectは、属性が遅延ロードされているときにManagedObjectContextを必要としているとは思っていませんでした。

+0

戻ってあなたのソリューションを共有していただきありがとうございます。私はCoreDataの怠惰な読み込みを認識していませんでしたが、私の同様の問題に対する解決策は今明らかです! – Dermot

+0

私の喜び:喜んで誰かに使用されていた。 – JHollanti

関連する問題