这个日期谓词应该有效吗?

时间:2013-08-29 01:54:29

标签: ios objective-c nsdate nspredicate

这个搜索谓词不适用于iOS吗?这似乎在OS X上工作正常。我检查了date.description以这种格式返回一个字符串'2013-08-28 23:18:16 +0000'。我正在尝试实现UISearchBar来过滤结果,并希望用户能够输入日期的任何部分。

[predicates addObject:[NSPredicate predicateWithFormat:@"date.description contains %@", self.searchString]];

由于

1 个答案:

答案 0 :(得分:1)

没有。如果它奏效则是巧合。根据{{​​1}}的文档description仅用于调试目的。

将您的NSString转换为NSDate并编写您的谓词:

NSDate

编辑:再次阅读您的问题之后,这个答案可能不是很有帮助 我会尝试为每个对象保存NSDateFormatter *df = [[NSDateFormatter alloc] init]; df.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"]; df.dateFormat = @"yyyy-MM-dd HH:mm:ss ZZZ"; NSDate *date = [df dateFromString:self.searchString]; NSPredicate *p = [NSPredicate predicateWithFormat:@"date == %@", date]; 的结果。然后,您应该能够使用[df stringFromDate:date];谓词进行过滤。但你不能依赖contains