1

本当に厄介なバグがあります。些細な解決策があるかもしれませんが、私はそれを得ることができません。

NSPredicate頻繁に使用していますが問題ありません。現在、次のバグが発生しています: キャッチされていない例外 ' NSUnknownKeyException'、理由: ' '[<TestClass 0x10cf3b80> valueForUndefinedKey:]: this class is not key value coding-compliant for the key testValue.によりアプリを終了しています

NSString* predicateString = [NSString stringWithFormat:@"name CONTAINS[cd] %@",@"testValue"];
NSPredicate* filterPredicate = [NSPredicate predicateWithFormat:predicateString];
NSArray* filtered = [all filteredArrayUsingPredicate:filterPredicate];

name はNSString*私のクラスのプロパティであり、all は私のオブジェクトを含む配列です。些細なコードだけで、余分なものはありません。

助けてくれてありがとう!

4

1 に答える 1

1

述語を NSString として構築する場合は、次のようになります (余分な引用符に注意してください)。

NSString* predicateString = [NSString stringWithFormat:@"name CONTAINS[cd] '%@'", @"testValue"];

または、次の方法でより直接的にビルドできます。

NSPredicate* filterPredicate = [NSPredicate predicateWithFormat:@"name CONTAINS[cd] %@", @"testValue"];

2 番目の方法では、%@ 指定子を使用して引数を自動的に引用符で囲みます。

于 2014-06-12T11:55:20.307 に答える