У меня есть список задач в виде коллекции. Иногда, когда я пытаюсь удалить задачу, приложение вылетает с ошибкой (полный текст):
CoreData: error: SQLCore dispatchRequest: exception handling request: <NSSQLFetchRequestContext: 0x2813396c0> , -[__NSCFConstantString bytes]: unrecognized selector sent to instance 0x1c7af11a0 with userInfo of (null)
Как я удаляю записи:
if let taskIndex = tasks.firstIndex(where: {
$0 == todo
}) {
if let reminderUUID = todo.reminderUUID {
notificationService.removeScheduledNotification(withId: reminderUUID)
}
tasks.remove(at: taskIndex)
daySummary.removeFromTodo(todo)
Storage.viewContext.delete(todo)
saveNewTasksOrder()
}
Также я удаляю уведомления и создаю новый Порядок выполнения задач:
for i in 0..<tasks.count {
let task = tasks[i]
task.orderIndex = i
}
Storage.shared.saveContext()
Операция сохранения Хранилища:
func saveContext () {
let context = persistentContainer.viewContext
if context.hasChanges {
do {
try context.save()
} catch {
let nserror = error as NSError
print("Saving error: \(nserror)")
}
}
}