需要有关CoreData Saving的帮助

时间:2015-05-27 09:44:36

标签: ios objective-c core-data

我正在尝试将值插入到核心数据对象中,但在保存这些值时会收到null响应,但它会更新到Core数据库中,

二手代码:

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];

null语句

下面获取NSLog
if ([images count] !=0 ) {

        if ([context save:&error])
        {
            NSLog(@"Can't Save! %@ %@", error, [error localizedDescription]);

        }
    }

3 个答案:

答案 0 :(得分:0)

当然它会给你null。保存您的数据时没有任何错误,您正在记录error[error localizedDescription]

由于没有错误,因此会null

save:的方法NSManagedObjectContext如果保存成功则返回YES,如果保存失败则返回NO。在后一种情况下,它还会存储您已通过的&error地址中遇到的错误。

您的if声明应为:

if ([context save:&error]) {

    NSLog(@"Save successful");

} else {

    NSLog(@"Could not save: %@ | %@", error, error.localizedDescription);
}

答案 1 :(得分:0)

if ([context save:&error])
 {
    // This means your data is saved properly

}

答案 2 :(得分:0)

怎么了?来自doc

  
      
  • (BOOL)save:(NSError **)error
  •   
     

返回值   如果保存成功则为YES,否则为NO。

因此,当您进入循环时,保存成功并且错误仍为空。