iphone - NSPredicate 使用特殊字符过滤

标签 iphone ios cocoa-touch cocoa nspredicate

我正在使用下面的代码来使用谓词过滤数组。

self.aPredicateString = [self.aPredicateString stringByAppendingString:[NSString stringWithFormat:@"%@ contains[cd] '%@'", self.selectedSearchParameter, self.searchString]];


NSLog(@"Predicate string %@",self.aPredicateString);
        self.aPredicate = [NSPredicate predicateWithFormat:self.aPredicateString];

如果用户输入 \',代码会因错误而崩溃。

我不明白这是什么错误? NSPredicate 中不允许使用特殊字符,或者我应该以不同的方式格式化谓词。

最佳答案

我想知道,为什么你使用所有这些self.aPredicateString stringByAppendingString,但我认为,你的谓词应该如下所示:

self.aPredicate = [NSPredicate predicateWithFormat:@"%@ contains[cd] %@", self.selectedSearchParameter, self.searchString]]; 

%@ 周围没有 ''

关于iphone - NSPredicate 使用特殊字符过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10186049/

相关文章:

ios - 如何进行多线程以更快地将图像加载到tableView?

ios - 核心数据和 GCD : Passing the correct managed object context to custom NSManagedObjects

ios - UIPrintInteractionController 无法在 iPhone 中打印整页

iphone - iOS解析: string is null

ios - 尝试在 XCode 中提交对应用程序的更新,但我不断收到错误消息……

javascript - 使用 JavaScript 禁用缩放谷歌地图?

iphone - 仅在屏幕的有限区域内保持 UIView 可见

iphone - 应用程序启动操作

iphone - 如何将UI颜色设置为深蓝色

iOS CallKit 广告集成