1

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

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或者我应该以不同的方式格式化谓词。

4

1 回答 1

7

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

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

''周围没有%@

于 2012-04-17T06:42:23.070 回答