0
我已经使用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