iOS Приложение вылетает в Xcode при попытке удалить запись из Core Data с ошибкой: нераспознанный селектор отправлен в экземпляр ... с userInfo of (null) - PullRequest
0 голосов
/ 28 мая 2020

У меня есть список задач в виде коллекции. Иногда, когда я пытаюсь удалить задачу, приложение вылетает с ошибкой (полный текст):

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)")
    }
  }
}
...