NSMutableSetのintersectSet:
メソッドを使用します。
- あなたが交差するプロパティ値の配列を引き出し、及び変更可能なセットにあなたの最初の配列を変換します
NSMutableSet *setA = [NSMutableSet setWithArray:[arrayA valueForKey:@"name"]];
は、アレイBのプロパティの値と、それに交差[setA intersectSet:[NSSet setWithArray:[arrayB valueForKey:@"name"]];
あなたは1つの本当に長いラインにそれを組み合わせるしたい場合は
、あなたはこれを行うだろう:
NSSet *commonProperties = [[NSMutableSet setWithArray:[arrayA valueForKey:@"name"]] intersectSet:[NSSet setWithArray:[arrayB valueForKey:@"name"]]];
もちろん、これはオブジェクト自体ではなく、名前プロパティを与えるだけです。オブジェクト全体が必要な場合は、isEqual:
をオーバーライドし、名前をそこにチェックインしてください。次に、valueForKey:
部分を削除し、2つのセットを交差させることができます。
残りの値は共通の値になります。 NSSet
文字列比較ではNSString
オブジェクトの背後でisEqualToString:
が使用されています。
あなたが何を意味するかはっきりしません。 array1の各オブジェクトがarray2の同じインデックスにあるオブジェクトと同じ名前かどうか、またはarray1のオブジェクトの名前がarray2のオブジェクトと同じかどうか、または3番目のオプションがあるかどうかをチェックします。 – Chuck