我在核心資料中有一個物體,它存盤了 Date 屬性date。我的視圖selectedDate中有一個 @State 屬性,它的型別為 Date。
我想使用 fetch 請求來檢索資料庫中日期匹配selectedDate的所有物體。我想在時間之外做這件事;例如selectedDate可能是 2022 年 3 月 15 日下午 12:07,日期可能是 2022 年 3 月 15 日上午 9:05 - 我希望這些匹配。
我嘗試使用以下內容(盡管這不會達到所需的時間行為):
request.predicate = NSPredicate(format: "date == %@", selectedDate.timeIntervalSince1970)
但是,在運行應用程式時,在謂詞行出現以下錯誤:
Thread 1: EXC_BAD_ACCESS (code=1, address=0x41d88c207fdc4b4d)
有誰知道如何做到這一點?
uj5u.com熱心網友回復:
首先發生例外是因為占位符%@錯誤。%@用于物件,Double值由 表示%f。
其次,如果您想獲取特定日期的所有日期,您必須創建當天的日期范圍(0:00–23:59)。
通過添加和運算子,Calendar您可以得到 0:00startOfDay(for:)和一天的結束。day<
例如
let calendar = Calendar.current
let startDate = calendar.startOfDay(for: selectedDate)
let endDate = calendar.date(byAdding: .day, value: 1, to: startDate)!
let predicate = NSPredicate(format: "date >= %@ AND date < %@", argumentArray: [startDate, endDate]))
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/444099.html
標籤:迅速 核心数据 nspredicate
上一篇:jq帶單引號bash腳本
下一篇:XCode-無法注冊捆綁識別符號
