Обновление отношений CoreStore путем удаления объектов через транзакцию. Редактирование не работает - PullRequest
0 голосов
/ 03 мая 2019

Я хотел бы обновить свой основной объект данных, удалив некоторые объекты в отношениях.

Я знаю, что 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 голосов
/ 03 мая 2019

Коротко нет, поскольку Джон - это сущность. Джон должен быть удален. Никаких дополнительных действий не требуется, если отношение использует правило обнуления по умолчанию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...