我正在使用coredata,我想在coredata中找到最大時間。 我該怎麼寫?NSPredicate與swift2的最大時間
let predicate = NSPredicate(format: "contentDate = '???' ", "")
fetchRequest.predicate = predicate
我正在使用coredata,我想在coredata中找到最大時間。 我該怎麼寫?NSPredicate與swift2的最大時間
let predicate = NSPredicate(format: "contentDate = '???' ", "")
fetchRequest.predicate = predicate
正如韋恩說,找到最大的價值,你寧願定義SortDescriptor
然後Predicate
:
let sortByTimeDescriptor = NSSortDescriptor(key: "time", ascending: false)
fetchRequest.sortDescriptors = [sortByTimeDescriptor]
你有興趣只是在一個(最大)值,這也是很好的做法,建立性能取極限原因:
fetchRequest.fetchLimit = 1
然後,只需執行請求和來自結果陣列得到第一對象:
let results = managedObjectContext.executeFetchRequest(fetchRequest)
let maxTimeEntity = results.first
請注意,executeFetchRequest
可能會拋出錯誤,您必須以某種方式處理它。
要找到最大值,排序和詢問第一個項目比嘗試創建謂詞更有意義。
如果容器對象不重要,您還可以使用@max查看錶達式以自行獲取值。
很酷!謝謝你幫了我很多 –