管理対象オブジェクトに関する簡単な質問。
管理対象オブジェクト(オブジェクト1:TableViewConbtroller内)を使用して配列を作成し、それらのオブジェクトの1つを別のクラス/オブジェクト(オブジェクト2:TableCell)に渡します。
元の配列は、元の呼び出し元クラスに保持されている必要があります。次に、オブジェクト2が解放されます。これは、オブジェクト2でのオブジェクトへの参照が解放されたのと同様に、配列内のその特定のアイテムも解放されることを意味しますか?
「オブジェクトが解放されました」というエラーが発生したときに、ManagedObjectsの操作方法をよりよく理解しようとしています。
[編集]いくつかの実験の後、私は次のシナリオに出くわしました:私はメインのAppDelegateを持っています。別のクラスで、ManagedObjectContextを取得するためのAppDelegateを作成します。
appDelegate = (iDomsAppDelegate *)[[UIApplication sharedApplication] delegate];
[self setContext:[appDelegate managedObjectContext]];
クラスが終了し、それを解放すると、クラス'appDelegate'の変数も解放されます。ただし、ManagedObjectContextは閉じられ、今後それを使用しようとするとクラッシュが発生することは明らかです。では、appDelegateをリリースしないでおく必要がありますか?
これは、オブジェクトが別のクラスから使用されている状況で、いつどのように解放するかについて、上記と同じ質問になります。私はそれを置く方法は、あなたがオブジェクトを所有しているときと所有していないときを知る方法だと思います。