这个搜索谓词不适用于iOS吗?这似乎在OS X上工作正常。我检查了date.description以这种格式返回一个字符串'2013-08-28 23:18:16 +0000'。我正在尝试实现UISearchBar来过滤结果,并希望用户能够输入日期的任何部分。
[predicates addObject:[NSPredicate predicateWithFormat:@"date.description contains %@", self.searchString]];
由于
答案 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
。