在CoreData中保存数据时出错

Posted

技术标签:

【中文标题】在CoreData中保存数据时出错【英文标题】:Error when save data in CoreData 【发布时间】:2013-01-28 17:10:38 【问题描述】:

我正在尝试将数据保存在 CoreData 中,但出现错误。

NSInvalidArgumentException', reason: '+entityForName: nil is not a legal NSManagedObjectContext parameter search for entity name 'File''

代码如下:

-(NSMutableArray *)listFileAtPath:(NSString *)path

    NSMutableArray *directoryContent = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:path error:NULL];
    return directoryContent;

-(void)FileData

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    File *myMO = (File*) [NSEntityDescription insertNewObjectForEntityForName:@"File" inManagedObjectContext:[self managedObjectContext]];
    [myMO setValue:[self listFileAtPath:documentsDirectory] forKey:@"filename"];

为什么他没有看到我的实体?

【问题讨论】:

【参考方案1】:

[self managedObjectContext]根据错误信息返回nil,查看此方法以验证它是否返回正确的NSMangedObjectContext

【讨论】:

无法判断,您需要发布您对[self managedObjectContext]的实现

以上是关于在CoreData中保存数据时出错的主要内容,如果未能解决你的问题,请参考以下文章

将 UIImage 作为二进制数据保存到 CoreData 实体时出错

在 coredata 中保存对象时出错

将 UIImage 保存到 Core Data 时出错

将 mogenerator 与 Core Data 实体一起使用会导致保存数据存储时出错

无法在 CoreData swift 中保存数据

在保存到 CoreData 之前检查数据中的 nil