CoreData NSPredicate 按日期获取数据
Posted
技术标签:
【中文标题】CoreData NSPredicate 按日期获取数据【英文标题】:CoreData NSPredicate fetch data by Date 【发布时间】:2015-01-29 10:38:16 【问题描述】:请帮我做这个谓词
[NSPredicate predicateWithFormat:[NSString stringWithFormat:@"subsidiary_of_cat_id == %@ AND (valid_from < %@) AND (valid_till > %@ OR valid_till == %@) ",catId,[NSDate date],[NSDate date], dateTo,]]
接收崩溃错误:无法解析格式字符串
从CoreData获取数据的条件
条件 1:now() 条件二:now() > valid_from
谢谢!
已解决:更新代码
NSMutableArray *predicatesArray = [NSMutableArray array];
[predicatesArray addObject:[NSPredicate predicateWithFormat:@"%@ == subsidiary_of_cat_id",catId]];
[predicatesArray addObject:[NSPredicate predicateWithFormat:@"%@ > valid_from",[NSDate date]]];
[predicatesArray addObject:[NSPredicate predicateWithFormat:@"%@ < valid_till",[NSDate date]]];
[predicatesArray addObject:[NSPredicate predicateWithFormat:@"%@ == valid_till”,dateTo];
[NSCompoundPredicate orPredicateWithSubpredicates:predicatesArray]
【问题讨论】:
我已经通过 [NSCompoundPredicate orPredicateWithSubpredicates:predicatesArray] 解决了它 【参考方案1】:您不需要将字符串包装在stringWithFormat
:
[NSPredicate predicateWithFormat:@"subsidiary_of_cat_id == %@ AND (valid_from < %@) AND (valid_till > %@ OR valid_till == %@) ",catId,[NSDate date],[NSDate date], dateTo];
【讨论】:
以上是关于CoreData NSPredicate 按日期获取数据的主要内容,如果未能解决你的问题,请参考以下文章