1

フェッチリクエストにこの単純なコードを使用しています

NSArray *fetchResults = [moc executeFetchRequest:request error:&error];

NSLog(@" i want show my result : %@",fetchResults);-> SIGABRT を引き起こす

この作成直後に永続ストアで使用している場合、エラーが発生します。

PS: ストアは、入力とリクエストの間で保存されました。

しかし、アプリを閉じて再度開くと (この場合はストアが存在します)、エラーは発生しません。

場合によっては、このメッセージを表示できます: 「NSException」のインスタンスをスローした後に呼び出された終了

しかし、私はこの例外にアクセスできません。

フェッチ結果を数えてみると、いい数字が出てますね、本当に不思議です。

手伝ってくれてありがとう。

4

1 に答える 1

1

さて、私は問題を発見しました!

populate コードでは、関係の 1 つに autorelease が挿入されていました。

これを削除して、これでOKです。

これは良い解決策ではありません:

 NSManagedObject *relationEntity = [[NSEntityDescription insertNewObjectForEntityForName:@"picture" inManagedObjectContext:moc] autorelease];

autorelease を削除するだけです:

NSManagedObject *relationEntity = [NSEntityDescription insertNewObjectForEntityForName:@"picture" inManagedObjectContext:moc];

コア データでこれを忘れていました ( release を使用せず、 object を に設定するだけnilです )!

于 2011-05-04T09:26:02.317 に答える