【问题标题】:Saving NSManagedContext on another thread将 NSManagedContext 保存在另一个线程上
【发布时间】:2017-10-27 19:36:42
【问题描述】:

我有一个核心数据对象,它是在应用程序的主线程(UI 队列)上创建的,我想在一个闭包内更新这个对象,该闭包在特定事件之后被调用,比如回调,我可以直接在关闭?虽然这被视为不同的线程?我希望能够将对象保存到核心数据。

【问题讨论】:

    标签: swift core-data nsmanagedobject nsmanagedobjectcontext


    【解决方案1】:

    每个线程使用一个 NSManagedObjectContext。传递线程安全的 NSManagedObjectID,然后再次从线程上下文中获取对象。

    【讨论】:

      【解决方案2】:

      您可以使用以下方法将 CoreData 对象保存在闭包中:

      DispatchQueue.main.async { 
          (your update func) 
      }
      

      这样你就在主线程上执行你的操作

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-10-06
        • 1970-01-01
        • 2020-02-25
        • 2014-08-21
        • 1970-01-01
        相关资源
        最近更新 更多