プロパティname、score、idを持つ何百ものオブジェクトを持つ「scoreBoard」と呼ばれるNSMutableArrayがあります
文字列のリストを持つ「friends」と呼ばれる NSArray もあります
「scoreBoard」のすべてのオブジェクト「id」を NSArray の「friends」でスキャンし、プロパティ値 id が「friends」のリストと一致するオブジェクトのみを保持したい
誰か私に道順を教えてもらえますか?
プロパティname、score、idを持つ何百ものオブジェクトを持つ「scoreBoard」と呼ばれるNSMutableArrayがあります
文字列のリストを持つ「friends」と呼ばれる NSArray もあります
「scoreBoard」のすべてのオブジェクト「id」を NSArray の「friends」でスキャンし、プロパティ値 id が「friends」のリストと一致するオブジェクトのみを保持したい
誰か私に道順を教えてもらえますか?
このようなもの:
NSIndexSet *toRemove = [scoreBoard indexesOfObjectsPassingTest:^BOOL(id obj, NSUInteger idx, BOOL *stop) {
return [friends containsObject:obj.name];
}];
[scoreBoard removeObjectsAtIndexdes:toRemove];
これは最適な速度ではないことに注意してください。私の好みではありませんが、[NSMutableArray filterUsingPredicate:]
あなたも見たいと思うかもしれません。NSPredicate