【问题标题】:Use UICollectionView and NSFetchedResultsController使用 UICollectionView 和 NSFetchedResultsController
【发布时间】:2013-01-25 01:10:50
【问题描述】:

我正在使用在 github 上找到的一个项目,它允许我使用 NSFetchedResultsControllerUICollectionView,该项目是 this

但是当我像这样保存一个新对象时:

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)

我已尝试删除该项目,并且保存有效,所以我认为该项目存在问题,有什么帮助吗?

【问题讨论】:

    标签: iphone ios nsfetchedresultscontroller uicollectionview


    【解决方案1】:

    我建议您导出 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!");
    }
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-03
    • 1970-01-01
    • 2017-06-09
    • 1970-01-01
    相关资源
    最近更新 更多