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 に答える