NSPredicate使用特殊字符过滤

1 iphone cocoa cocoa-touch nspredicate ios

我使用下面的代码使用谓词过滤数组.

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


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

如果用户输入其中任何一个,\或者'代码崩溃并出错.

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

Nik*_*rov 6

我想知道,为什么你要使用这一切self.aPredicateString stringByAppendingString,但我认为,你的谓词应该是这样的:

self.aPredicate = [NSPredicate predicateWithFormat:@"%@ contains[cd] %@", self.selectedSearchParameter, self.searchString]]; 
Run Code Online (Sandbox Code Playgroud)

''周围没有%@