3

NSArrayのfilteredArrayUsingPredicate:メソッドを使用して、コアデータの管理対象オブジェクトの配列をフィルタリングしようとしています。概要は次のとおりです。

NSArray *array = self.fetchedResultsController.fetchedObjects;

NSPredicate *predicate = [NSPredicate
                          predicateWithFormat:@"name contains[c] %@", searchString];

NSArray *filteredArray = [array filteredArrayUsingPredicate:predicate];

これは常に空の'filteredArray'を返しますか?それが私の述語だと思いますが、「配列」内のオブジェクトは「名前」と呼ばれるキーを持つ管理対象オブジェクトであることを知っています。'searchString'の値は問題なく、以前にperformFetch:を実行しました。

4

1 に答える 1

6

あなたの述語は大丈夫です。

配列とsearchStringを再確認します。

NSArray *array = self.fetchedResultsController.fetchedObjects;

NSLog(@"array = %@",array);
NSLog(@"array count = %d",[array count]);
NSLog(@"searchString = %@",searchString);

NSPredicate *predicate = [NSPredicate
                          predicateWithFormat:@"name contains[c] %@", searchString];

NSArray *filteredArray = [array filteredArrayUsingPredicate:predicate];
于 2010-02-08T18:53:00.167 に答える