Я программировал с помощью xcode и swift 3 в течение четырех дней и уже нашел эти страницы чрезвычайно полезными. Проблема, с которой я столкнулся, заключается в попытке удалить старые, избыточные записи из моего объекта Core Data. Я могу добавить записи, отмеченные датой, но как только эта дата в прошлом, я хочу избавиться от записи. Вот что я до сих пор, что дает мне ошибку, которая говорит о том, что проблема заключается в том, как я назначаю значение в start_time для thenDate. Является ли что-то очевидным, что мне не хватает?Удаление старых записей из данных ядра
func DeleteOldRecords() -> Void {
let deleteContext = getContext()
let nowDate = Date()
let fetchRequest = NSFetchRequest<NSFetchRequestResult>(entityName: "table")
let result = try? deleteContext.fetch(fetchRequest)
let resultData = result as! [table]
for object in resultData {
let thenDate = deleteContext.value(forKey: "start_time") as! Date
if thenDate < nowDate {
deleteContext.delete(object)
}
}
do {
try deleteContext.save()
}
catch {
}
}
func getContext() -> NSManagedObjectContext {
let appDelegate = UIApplication.shared.delegate as! AppDelegate
return appDelegate.persistentContainer.viewContext
}
А вот ошибка я получаю:
*** Нагрузочного приложение из-за неперехваченное исключение 'NSUnknownKeyException', причина: «[valueForUndefinedKey]: этот класс не является ключевым кодированием значения - совместим для ключевого start_time. '
Вы абсолютно правы. Прыгайте сразу, как только вы это упомянули. Бесконечно благодарен. Это сводило меня с ума! – gaviano