Я использую этот код для создания объекта:
CoreStore.perform(
asynchronous: { (transaction) -> Void in
let summary = transaction.create(Into<SummaryEntity>())
},
completion: { _ in }
)
В завершение я хотел бы вернуть только что созданный итоговый объект.
Как это сделать?
Я сделал что-то подобное, но не уверен, для чего нам нужно много развёрток и fetchExisting
функция
CoreStore.perform(
asynchronous: { (transaction) -> Routine? in
let routine = try! transaction.importUniqueObject(
Into<Routine>(),
source: routineDictionary)
return routine
},
success: { (transactionRoutine) in
guard let unwrappedTransactionRoutine = transactionRoutine else {
return
}
let routine = CoreStore.fetchExisting(unwrappedTransactionRoutine)
guard let unwrappedRoutine = routine else {
return
}
completion(.data(unwrappedRoutine))
},
failure: { (error) in
// ...
}
)
Это ошибка распаковки из fetchExisting
: