我放弃。我已经尝试了所有我能想象到的组合来检查一个字符串是否包含另一个字符串。这是一个直观的语法示例,描述了我想要做什么:
NSPredicate* pPredicate = [NSPredicate predicateWithFormat:@"NOT (%K CONTAINS[c] %@)",
NSMetadataItemFSNameKey,
[NSString stringWithFormat:@"Some String"]];
不管我如何改变 NOT,使用 ! 运算符,而是移动括号或完全删除它们,我总是在解析这个表达式时遇到异常。
这个表达有什么问题?
编辑:当我打电话时发生异常
[pMetadataQuery setPredicate:pPredicate];
例外是:*由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“NSMetadataQuery 的 NSComparisonPredicate 类型未知(kMDItemFSName CONTAINS[c]“Some String”)