ios - 如果搜索字符串包含左 "("和右 ")"括号,则 NSPredicate 不起作用

标签 ios objective-c iphone core-data nspredicate

我正在使用 NSPredicate 从 coredata 中搜索包含内容。 但有些记录包含左括号和右括号。 示例

产品名称 =“产品(产品1)” 我尝试按 prodcuctName 过滤数据,然后得到 0 个结果。

   self.productName = @"Product (Product1)";
   [NSPredicate predicateWithFormat:[NSString stringWithFormat:@"productName MATCHES[cd] \"%@\"",self.productName]];

请建议我解决这个问题。

提前致谢!

最佳答案

我用 LIKE 替换了 MATCHES 关键字。

现在 NSPredicate 工作正常。 MATCHES 是根据 ICU v3 使用正则表达式式比较来比较左/右表达式(有关更多详细信息,请参阅 ICU 用户指南 Regular Expressions )。

LIKE 只是比较与“==”相同。

关于ios - 如果搜索字符串包含左 "("和右 ")"括号,则 NSPredicate 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34172280/

相关文章:

ios - 尝试解锁尚未锁定的cordova-ios@3.7.0

ios - UIView 的中心不居中

ios - MKCoordinatespan 根据源和目的地中心坐标计算 latitudedelta 和 longitudedelta

ios - 拥有@2x 图像 Assets 而没有@1x Assets

ios - Objective-C 中的逗号

java - 我将如何通过 Java 访问 iPhone 文件系统?

ios - Zumero Xamarin 无法编译

ios - Twitter-“关注”按钮

objective-c - 可以接受从类外直接访问 ivar 以提高效率吗?

ios - 保留带有 3 个对象的循环 Objective-C