Я хотел бы использовать childContext (NSManagedObjectContext) для подробного просмотра, где пользователь может редактировать параметры модели. Идея состоит в том, что если пользователь не сохранит подробный вид, я могу просто отменить любые изменения. Если они сохранят свои изменения, я могу распространить изменения в parentContext.
То, что происходит, - это то, что 100% ЦП расходуется, когда я выполняю код, который создает childContext и копию NSManagedObject, используя следующий код.
Приложение прекрасно работает без подхода childContext, но я также хочу наблюдать за изменениями в childContext, чтобы обновлять пользовательский интерфейс подробного представления. Поэтому мне нужен childContext, плюс он должен работать, поэтому я должен что-то упустить.
Может кто-нибудь посоветовать, почему это происходит и что с этим делать?
DispatchQueue.main.async {
let childContext = NSManagedObjectContext(concurrencyType: .privateQueueConcurrencyType)
childContext.parent = childContext
let childEntry = childContext.object(with: foodEntry.objectID) as? FoodEntry
addFoodVC.foodEntry = childEntry
addFoodVC.context = childContext
self.navigationController?.pushViewController(addFoodVC, animated: true)
}