NSAsynchronousFetchRequest, NSBatchUpdateRequest

批处理查询数据


    let batchUpdate = NSBatchUpdateRequest(entityName: "Venue")
    batchUpdate.propertiesToUpdate = ["favorite" : NSNumber(bool: true)]
    batchUpdate.affectedStores = coreDataStack.context.persistentStoreCoordinator!.persistentStores
    batchUpdate.resultType = .UpdatedObjectsCountResultType
    
    do {
        let batchResult =
        try coreDataStack.context.executeRequest(batchUpdate) as! NSBatchUpdateResult
        print("Records updated \(batchResult.result!)")
    } catch let error as NSError {
        print("Could not update \(error), \(error.userInfo)")
    } 
     

多线程查询数据


    fetchRequest = NSFetchRequest(entityName: "Venue")
    asyncFetchRequest = NSAsynchronousFetchRequest(fetchRequest: fetchRequest, completionBlock: {  
    [unowned self] (result: NSAsynchronousFetchResult!) -> Void in
        self.venues = result.finalResult as! [Venue]
        self.tableView.reloadData()
    })
    do {
            
        try coreDataStack.context.executeRequest(asyncFetchRequest)
            
    } catch let error as NSError {
        print("could not fetch \(error), \(error.userInfo)")
    }  

用NSAsynchronousFetchRequest包裹NSFetchRequest
执行更新的是使用executeRequest

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,079评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,860评论 25 709
  • 周一在408,天井投下满屋子的春日阳光,与408的小伙伴喝茶聊天。鑫哥起身说他要来谈谈周日和钱老师解说的“连接”。...
    Amycym阅读 362评论 0 0
  • 今天推荐一个最简单的自我管理工具,如果有兴趣,大家可以跟我一起来尝试。 今天分享,一个工具,一个时间,一个做法。 ...
    兔小峥阅读 245评论 0 2
  • 今天来一张结构图,整张图电钻抠的时间最长 希望大家多多关注,多多指教哦!^_^
    冬日丶麋鹿阅读 799评论 0 0