CoreStore通过transaction.edit删除对象来更新关系不起作用

时间:2019-05-03 13:12:53

标签: ios swift core-data corestore

我想通过删除关系中的一些对象来更新我的核心数据对象。

我知道CoreStore提供很少的方法更新和删除。我的问题是可以使用更新功能删除吗?

let john: MyPersonEntity ...
jane.removeFromFriends(john) // Removing john form NSSet

CoreStore.perform(
    asynchronous: { (transaction) -> Void in

        let jane = transaction.edit(jane)! // Assuming that this is a proxy and context will be saved with no john.

    },
    completion: { _ in }
)

还是我需要从关系中删除这样的约翰。

let john: MyPersonEntity = jane.getJohnObject() // Returns john object from NSSet.

CoreStore.perform(
    asynchronous: { (transaction) -> Void in
        transaction.delete(john)
    },
    completion: { _ in }
)

1 个答案:

答案 0 :(得分:0)

不要,因为约翰是一个恩蒂内蒂。约翰需要被删除。如果关系使用默认的nullify规则,则无需采取其他措施。