【问题标题】:Need Help On CoreData Saving需要有关 CoreData 保存的帮助
【发布时间】: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]);

        }
    }

【问题讨论】:

    标签: ios objective-c core-data


    【解决方案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。

        所以当你进入循环时,保存成功,错误仍然为空。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-06-12
          • 2015-06-23
          • 2014-12-26
          • 2013-08-12
          • 2014-06-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多