【发布时间】:2011-04-24 05:27:41
【问题描述】:
我正在使用 XCode 4 和 IOS 4.3
LastWorn 是核心数据模型中的日期属性。 在目标 C 类中,LastWorn 是一个 NSDate。 使用objective-c,我可以设置和获取coredata数据库的日期。 btnSearchOperator 包含 > 或
我正在尝试使用谓词中的 LastWorn 日期搜索 coredata 数据库。 从构建 NSPredicate 以查询数据的代码中提取
... code not shown ...
if ([txtSearchDate.text length] > 0 )
{
if ([predicate length] != 0) {
[predicate appendString:@" AND "];
}
[predicate appendFormat:@"LastWorn %@ %@", [btnSearchOperator currentTitle], datePickerView.date];
}
上面的代码在谓词后面附加了“LastWorn > 2011-04-20 14:00:00 +0000”,然后它就崩溃了。
控制台日志 2011-04-23 22:34:17.805 iDresser[1216:207] * 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“无法解析格式字符串“Type.Id == 0 AND 购物 == NO AND (LastWorn > 2011-04-20 14:00:00 +0000)"'
如果我使用 F-Script CoreData 浏览器工具并构建一个测试查询“LastWorn != nil”会显示正确的结果。
如果我查询“LastWorn > 2011-01”,它显示的结果与 LastWorn != nil 相同,并且不正确。
如果我查询“LastWorn > 2011”,我会得到“NSInvalidArgumentException: -[NSCFNumber timeIntervalSinceReferenceDate]: unrecognized selector sent to instance 0x20048a920”
我只是想查找 LastWorn 日期小于指定值的所有项目? 任何建议将不胜感激。
【问题讨论】:
标签: ios4