【发布时间】:2016-06-14 07:55:50
【问题描述】:
我有一个数据集,其中包含以下日期6/14, 6/15, 6/16, 6/17 and 6/18
我有两个谓词
let today = NSDate()
NSPredicate(format: "checked == %@ AND dateTime >= %@", NSNumber(bool: false), today)
NSPredicate(format: "checked == %@ AND dateTime < %@", NSNumber(bool: false), today)
假设今天是6/16,所以根据第一个谓词,fetchRequest 应该只选择6/16, 6/17 and 6/18,而对于第二个谓词,fetchRequest 应该只选择6/14 and 6/15。
但问题是第一个谓词选择所有行,第二个返回空白。
数据模型
转换代码
知道这里出了什么问题。
【问题讨论】:
-
您是否真的将日期保存为
NSDate(而不是NSString)? -
属性类型为
Date,在保存过程中我将其转换为NSTimeInterval -
显示模型和转换代码
-
根据您的情况尝试
"... AND dateTime >= %f", NSNumber(bool:false), today.timeIntervalSince1970或timeIntervalSinceReferenceDate。 -
它与
-[__NSCFNumber timeIntervalSinceReferenceDate]: unrecognised selector一起崩溃
标签: swift core-data nsdate nspredicate nsfetchrequest