我使用下面的代码使用谓词过滤数组。
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
中不允许使用特殊字符,或者我应该以不同的方式格式化谓词。
答案 0 :(得分:6)
我想知道,为什么你要使用所有这些self.aPredicateString stringByAppendingString
,但我认为,你的谓词应该是这样的:
self.aPredicate = [NSPredicate predicateWithFormat:@"%@ contains[cd] %@", self.selectedSearchParameter, self.searchString]];
''
%@