0

私はgithubで見つけたプロジェクトを使用しています.andを使用できますNSFetchedResultsController.UICollectionViewプロジェクトはこれです

しかし、次のように新しいオブジェクトを保存すると:

NSManagedObject *doc = [NSEntityDescription insertNewObjectForEntityForName:@"Document" inManagedObjectContext:self.managedObjectContext];
                    [doc setValue:[title contents] forKey:@"docName"];
[doc setValue:element valueforKey:@"Element"]

[self saveContext];

次のエラーが表示されます。

 CoreData: error: Serious application error.  Exception was caught during Core Data change  processing.  This is usually a bug within an observer of NSManagedObjectContextObjectsDidChangeNotification.  Can't perform collection evaluate with non-collection object. with userInfo (null)

私はそのプロジェクトを削除しようとしましたが、保存が機能したので、そのプロジェクトの問題だと思います。

4

1 に答える 1

0

NSManagedObject サブクラスをエクスポートし、次のようにオブジェクトを宣言することをお勧めします。

// At top of the file:
#import "Document.h"

// In your Method:
Document *doc = (Document *)[NSEntityDescription insertNewObjectForEntityForName:@"Document" inManagedObjectContext:self.managedObjectContext];
doc.docName = title.contents;

NSError *error = nil;
[self.managedObjectContext save:&error];

if (error != nil) {
    NSLog(@"Oh no! Something terrible happened! Error: %@", error);
}
else {
    NSLog(@"Saved! Yay!");
}
于 2013-01-25T01:45:02.167 に答える