AcaniChatを削除するすべてのメッセージをクリアする方法があります。NSFetchedResultsControllerは、ネイティブのiPhoneのメッセージアプリと同じように、すべての
for (Message *message in [fetchedResultsController_ fetchedObjects]) {
[managedObjectContext_ deleteObject:message];
}
if (![managedObjectContext_ save:&error]) {
// TODO: Handle the error appropriately.
NSLog(@"Delete message error %@, %@", error, [error userInfo]);
}
しかし、削除されたメッセージの多くがあります場合にのみ、(いくつかは、オフスクリーンであることを十分に) 、AcaniChatがエラーでクラッシュする:
2011-04-10 01:06:17.629 AcaniChat[11129:207] Serious application error. Exception was caught during Core Data change processing. This is usually a bug within an observer of NSManagedObjectContextObjectsDidChangeNotification. CoreData could not fulfill a fault for '0x4d7d050 <x-coredata://F07CAEF9-5F38-4A1F-BA17-52A3E2E56978/Message/p42>' with userInfo {
NSAffectedObjectsErrorKey = (
"<Message: 0x4d665b0> (entity: Message; id: 0x4d7d050 <x-coredata://F07CAEF9-5F38-4A1F-BA17-52A3E2E56978/Message/p42> ; data: <fault>)"
);
}
2011-04-10 01:06:17.721 AcaniChat[11129:207] Delete message error Error Domain=NSCocoaErrorDomain Code=133000 "The operation couldn’t be completed. (Cocoa error 133000.)" UserInfo=0x4d9cf70 {NSAffectedObjectsErrorKey=(
"<Message: 0x4d665b0> (entity: Message; id: 0x4d7d050 <x-coredata://F07CAEF9-5F38-4A1F-BA17-52A3E2E56978/Message/p42> ; data: <fault>)"
), NSUnderlyingException=CoreData could not fulfill a fault for '0x4d7d050 <x-coredata://F07CAEF9-5F38-4A1F-BA17-52A3E2E56978/Message/p42>'}, {
NSAffectedObjectsErrorKey = (
"<Message: 0x4d665b0> (entity: Message; id: 0x4d7d050 <x-coredata://F07CAEF9-5F38-4A1F-BA17-52A3E2E56978/Message/p42> ; data: <fault>)"
);
NSUnderlyingException = "CoreData could not fulfill a fault for '0x4d7d050 <x-coredata://F07CAEF9-5F38-4A1F-BA17-52A3E2E56978/Message/p42>'";
}
2011-04-10 01:06:18.036 AcaniChat[11129:207] CoreAnimation: ignoring exception: CoreData could not fulfill a fault for '0x4d7d050 <x-coredata://F07CAEF9-5F38-4A1F-BA17-52A3E2E56978/Message/p42>'
これを修正するにはどうすればよいですか?
あなたは 'NSManagedObjectContextObjectsDidChangeNotification'オブザーバーを持っていますか? – Robert
あなたのNSFetchedResultsControllerDelegateメソッドを投稿してください –
私は 'fetchedResultsController_.delegate = nil'を設定してこれを解決しました。以下の答えを見てください。ありがとう! – ma11hew28