ios - NS谓词字符串

标签 ios objective-c core-data nspredicate

我有一个NSPredicate来使用搜索Core Data:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"objID == %@ AND createDate >= %@ AND createDate <= %@",self.objID, self.fromDate, self.toDate];

我想扩展此谓词以包含日期范围或“createDate”是否为零。我对 SQL 类型搜索不太熟悉。

基本上,我想查找具有 objID 且在日期范围内或为零的所有 Core Data 实体。

if (objID == X && ((dateRange >= fromDate && dateRange <= toDate) || dateRange == nil))

我该怎么做?

最佳答案

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"objID == %@ AND (createDate >= %@ AND createDate <= %@ OR createDate = nil)",self.objID, self.fromDate, self.toDate];

我刚刚添加了OR createDate = nil

检查 this回答。 Christopher Pickslay 说,你可以使用“nil”或“NULL”,但不能使用“NIL”。

关于ios - NS谓词字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17949906/

相关文章:

iphone - Xcode 错误消息 - ViewController 没有可见的@interface 声明选择器

iphone - 核心数据错误 : _Unwind_Resume called from function _PFFaultHandlerLookupRow in image CoreData

ios - 通过谓词获取今天之前的值

ios - iOS 上的 Firebase 崩溃报告不会在崩溃后发送报告

javascript - Javascript 找不到 div 类?

cocoa-touch - 通过 MFMail Composer 隐藏电子邮件正文

ios - 在iOS 5上启动时应用崩溃

objective-c - Objective-C 的技巧?

ios - 我只想在 coredata objective-c 中保存时间而不是日期和时间

ios - 如何在方法参数中使用 Raw 类型来遵守协议(protocol)方法?