【发布时间】:2018-12-29 12:55:34
【问题描述】:
我对 Swift 还很陌生,希望有人知道这个问题的答案 - 我尝试的任何方法似乎都不起作用!
我有一个 Swift 应用程序,它有一个名为“Drink”的核心数据实体,它有 2 个键:一个日期和一个名为“drinkWater”的实体,当按下按钮时存储值“1”。
我正在尝试编写一个单独的函数,我可以在其中检查今天日期是否存在条目,如果存在,则执行操作(在这种情况下更改图像视图)。
我意识到以下不是答案,但我已经知道了!基本上我可以根据drinkWater 的值获取所有条目(这需要我猜的日期?)并且我可以将今天的日期全部打印到控制台。现在我被困住了......
private func updateMyImageView() {
let appDelegate = UIApplication.shared.delegate as! AppDelegate
let context = appDelegate.persistentContainer.viewContext
let request = NSFetchRequest<NSFetchRequestResult>(entityName: "Drink")
request.predicate = NSPredicate(format: "drinkWater = %@", "1")
request.returnsObjectsAsFaults = false
do {
let result = try context.fetch(request)
for data in result as! [NSManagedObject] {
print(data.value(forKey: "timestamp") as! Date)
}
} catch {
print("Failed")
}
let dateNow = Date()
print("Date is \(dateNow)")
}
这会返回:
2018-12-29 01:27:27 +0000
日期为 2018-12-29 12:21:21 +0000
任何关于如何将这一切变成正确功能的想法将不胜感激!
【问题讨论】:
标签: swift core-data nspredicate nsfetchedresultscontroller