ios - 在Core Data中, `if exists update else insert`怎么办?

标签 ios objective-c swift core-data

如何在核心数据中执行如果存在则更新否则插入

我需要一步一步地对其进行编程吗?或者实际上有一个 API 可以实现这一点?

最佳答案

这是我在 Objective C 中的代码,您可以使用 NSPredicate 来检查该项目是否已存在,

NSFetchRequest *request = [[NSFetchRequest alloc] init];
      [request setEntity:[NSEntityDescription entityForName:@"Trend_news_table" inManagedObjectContext:managedObjectContext]];
      NSPredicate *predicate = [NSPredicate predicateWithFormat:[NSString stringWithFormat:@"news_id = %@",[user_info objectForKey:@"news_id"]]];
      [request setPredicate:predicate];

      NSError *error = nil;
      NSArray *results = [managedObjectContext executeFetchRequest:request error:&error];


      if (results.count > 0)
      {
            NSLog(@"update");
      }
      else
      {
          NSLog(@"Insert");
       }

关于ios - 在Core Data中, `if exists update else insert`怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35665412/

相关文章:

iphone - 对模拟器和基础 SDK 感到困惑吗?

ios - 带边框的 iOS 8 按钮 Swift

ios - 我想在 ios 中每五分钟加载一次 facebook 插页式广告(swift)

ios - GKMatchMaker 邀请处理程序已弃用

ios - 获取 iOS 视频的时间戳/位置

uitableview - 在 Swift 中为 cellForRowAtIndexPath 调用 super

swift 可编码 : decode dictionary with unknown keys

ios - ruby xcodeproj 抛出 `normalize_source_tree' : [Xcodeproj] Unrecognized source tree option `Auto` (RuntimeError)

ios - 如何在 textview 中输入后关闭 tableView 中的键盘

ios - 为什么我的 UIImageView 放在 Storyboard上时会模糊?