Mar*_*rio -1 iphone core-data objective-c nspredicate ios
我有核心数据模型:
Book
----
name
release_date
Run Code Online (Sandbox Code Playgroud)
我需要从release_date中获取至少两天的所有书籍,
并且我想要这样做NSPredicate(不要将所有书籍加载到内存中,而不是循环和检查)
我正在寻找的是这样的:
NSDate *now = [NSDate date];
NSPredicate *pred = [NSPredicate predicateWithFormat:@"release_date + "48 hours" <= %@", now];
Run Code Online (Sandbox Code Playgroud)
谓词不会更改您的日期.您应该创建适当的日期(基于当前日期和使用NSDateComponents)并将其传递给谓词.您可以<=在谓词中使用过滤器来查找旧日期.
换句话说,不要将问题视为:
@"release_date + "48 hours" <= %@", now
Run Code Online (Sandbox Code Playgroud)
把它想象成:
@"release_date <= %@", now - "48 hours"
Run Code Online (Sandbox Code Playgroud)
所以问题只是让now - "48 hours"日期传递给谓词.