在 NSPredicate 中与字符串比较不同或不等于



我想获取属性"content"不是空字符串的所有对象。

我已经尝试了"不喜欢","!="和"<>",但这些都不起作用。

在所有文档中,我只找到正面比较(例如 ==,...),但没有找到负面比较。

!=实际上是正确的。但是您的问题可能出在其他地方,您尝试匹配的对象content属性可能nil。因此,要么将您的谓词表述为 content != "" && content != nil,要么,如果您使用 Core Data,请将 content 属性设置为 @"" in -awakeFromInsert ,因此它不会默认为 nil

这应该为使用字符串语法创建的谓词执行此操作(而不是以编程方式创建谓词:)

NSPredicate *pred = [NSPredicate predicateWithFormat:@"NOT content == """];

你可以使用NOT来否定任何测试(LIKEIN等)。

最新更新