【问题标题】:MagicalRecord's MR_InContext method. Safe to use?MagicalRecord 的 MR_InContext 方法。使用安全吗?
【发布时间】:2015-08-31 22:03:17
【问题描述】:

我想知道将 MR_InContext 与 saveWithBlock 一起调用是否安全。我知道苹果建议甚至不从不同线程中的核心数据对象中读取,所以我想知道我是否应该传递 objectId 。这是我所说的一个例子:

// outside of save with block
var someManagedObject = SomeManagedObject.MR_first()

MagicalRecord.saveWithBlock({ (localContext : NSManagedObjectContext!) in

        // Is this ok? should I pass the objectId instead?
        var managedObjectInThread = someManagedObject.MR_InContext(localContext)
        managedObjectInThread.date = NSDate()

}, completion: { (success : Bool, error : NSError!) in
       // This block runs in main thread
})

【问题讨论】:

    标签: swift core-data magicalrecord


    【解决方案1】:

    当然。这是此方法所针对的场景类型。

    【讨论】:

      【解决方案2】:

      基于GDCoreDataConcurrencyDebugging框架:

      当我使用MR_InContext时调用“释放”的托管对象(问题)的并发访问无效

      我必须保留对 objectID 的引用并在块内使用它。

      【讨论】:

        猜你喜欢
        • 2016-07-14
        • 2018-10-27
        • 1970-01-01
        • 2013-11-20
        • 1970-01-01
        • 2013-03-31
        • 1970-01-01
        • 2016-02-10
        • 1970-01-01
        相关资源
        最近更新 更多