2010-12-10 13 views
1

何らかの形で無効化されているコアデータオブジェクトに問題があります。 管理対象オブジェクトコンテキストは、アプリケーションデリゲートにあり、ビューテーブルで使用して、データベースから「メモ」オブジェクトをフェッチして表示します。 は、私はセクション(今日、昨日、など)のための配列を作成し、セクションごとに、このようなセクションでのノートの配列: コアデータオブジェクトが無効になる

// in the .h file 
NSMutableArray* data; // An array containing an array of thoughts for each section. 
@property (nonatomic, retain, readonly) NSManagedObjectContext* objectContext; 

// in the .m file, when loading the view 
ThoughtsAppDelegate* appDelegate = (ThoughtsAppDelegate*)[[UIApplication sharedApplication] delegate]; 
objectContext = appDelegate.managedObjectContext; 

NSEntityDescription* descriptor = [[NSEntityDescription entityForName:@"Note"      
            inManagedObjectContext:objectContext] autorelease]; 
NSFetchRequest* request = [[NSFetchRequest alloc] init]; 
[request setEntity:descriptor]; 
NSError* error; 
NSArray* notes = [objectContext executeFetchRequest:request error:&error]; 
// example for one section 
data = [[NSMutableArray alloc] init]; 
NSMutableArray* ccurrentSection = [[NSMutableArray alloc] init]; 
[data addObject:currentSection]; 
for(Note* t in notes) 
    [currentSection addObject:t]; 

ビューが表示されている最初の5つのノートをロードし

(残りはビューに収まらない)、すべてがOKです。しかし、私が次のノートを見るためにスクロールすると、

NSObjectInaccessibleException IDを持つNSManagedObjectが無効になっています。

これは、アレイ内のすべてのオブジェクトで発生します。

これはどのように可能ですか?私は、コンテキストをリセット/解除しないようにしました。あるいは、Core Dataオブジェクトを保存して後で参照するのは悪いですか?

編集:これは、スクロールせずにノートが選択されたときの詳細を表示したい場合にも発生します。すぐに最初の音符が表示されるように見えますが、その音符は無効になります。

+0

managedObjectContextを保持する必要がありますか、またはアプリケーションの内部で行われたものですか?管理対象オブジェクトのコンテキストがなくなると、このエラーが発生する可能性があります。 – deanWombourne

+0

アプリケーション代理人では、私はXcodeによって自動的に作成されたプロパティを持っています:@property(nonatomic、retain、readonly)NSManagedObjectContext * managedObjectContext;それは保持されるべきです。私はどこにでもリリースしないし、データベースを変更しない。 –

答えて

1

メモオブジェクトを管理する方法には何かがあるように見えますが、これを行うコードはあなたの例ではありません。 notes配列はautorelease配列なので、あなたがどこかに保持していなければ、そこから次のセクションをロードする前に解放するかもしれません。

+0

'セクション'配列に 'note'が追加され、セクション '配列'が 'データ'配列に追加されます(保持されます)。 –

+0

申し訳ありませんそれを逃した:-) – drekka

+0

このコードはいつ実行されますか? – drekka

関連する問題