需要有关 CoreData 保存的帮助
Posted
技术标签:
【中文标题】需要有关 CoreData 保存的帮助【英文标题】:Need Help On CoreData Saving 【发布时间】:2015-05-27 09:44:36 【问题描述】:我正在尝试将值插入核心数据对象,但在保存这些值的同时收到null
响应,但它正在更新到核心数据数据库中,
使用代码:
AllAssets *allAssets1 = [NSEntityDescription insertNewObjectForEntityForName:@"AllAssets" inManagedObjectContext:context];
allAssets1.assetID = [NSNumber numberWithInt:assetID];
allAssets1.originalassetname = assetName;
[images addObject:[showrelatedAssets objectAtIndex:i]];
[products addObject:allAssets1];
[show_AddtoOffline addRel_Assets:products];
从NSLog
语句下方获取null
,
if ([images count] !=0 )
if ([context save:&error])
NSLog(@"Can't Save! %@ %@", error, [error localizedDescription]);
【问题讨论】:
【参考方案1】:当然是给你null
。您的数据已保存且没有任何错误,并且您正在记录 error
和 [error localizedDescription]
。
由于没有错误,这些将是null
。
NSManagedObjectContext
的方法save:
如果保存成功返回YES
,如果保存失败返回NO
。在后一种情况下,它还会将遇到的错误存储在您传递的&error
地址中。
您的if
声明应该是:
if ([context save:&error])
NSLog(@"Save successful");
else
NSLog(@"Could not save: %@ | %@", error, error.localizedDescription);
【讨论】:
【参考方案2】:if ([context save:&error])
// This means your data is saved properly
【讨论】:
【参考方案3】:怎么了?来自doc
(BOOL)保存:(NSError **)错误返回值 如果保存成功则为 YES,否则为 NO。
所以当你进入循环时,保存成功,错误仍然为空。
【讨论】:
以上是关于需要有关 CoreData 保存的帮助的主要内容,如果未能解决你的问题,请参考以下文章