2

私は配列を持っています

NSArray *arry = [[NSArray alloc]initWithObjects:@"1322",@"13222",@"13322",@"14322",@"13522",@"21322",@"11322",@"13212" ,nil];

オブジェクトを持つ配列を取得したい

@"1322",@"13222",@"13322",@"13212"

このフィルターの述語の使い方を教えてください。

4

4 に答える 4

3

あなたの質問(およびコメント)を正しく理解しているかどうかわかりません。

array別の array に含まれるすべてのオブジェクトを検索するにwantedは、"SELF IN %@" 述語を使用できます。

NSArray *array = [[NSArray alloc] initWithObjects:@"1322",@"13222",@"13322",@"14322",@"13522",@"21322",@"11322",@"13212" ,nil];
NSArray *wanted = [[NSArray alloc] initWithObjects:@"1322", @"13522", @"999", nil];

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF IN %@", wanted];
NSArray *filtered = [array filteredArrayUsingPredicate:predicate];
NSLog(@"%@", filtered);

出力:

(
1322年、
13522
)
于 2013-07-02T08:54:41.973 に答える
0
NSArray *yourArray = [[NSArray alloc]initWithObjects:@"1322",@"13222",@"13322",@"14322",@"13522",@"21322",@"11322",@"13212" ,nil];
NSArray *filter = [[NSArray alloc] initWithObjects:@"1322", @"13522", nil];

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF IN %@", filter];

NSArray *filteredArray = [array filteredArrayUsingPredicate:predicate];

これfilteredArrayには、フィルタリングされたデータが含まれます。それもうまくいくと思います。

于 2013-08-02T14:02:36.803 に答える