2011-08-09 6 views

答えて

1

1)非効率的な解決策。 1つのアレイの上に実行して、何がそうでない場合は、次の要素

2)より効率的なを取る要素を追加しない場合は、各オブジェクトのcontainsObjectに呼び出さない:両方の配列をソートし、それらは、サイド・バイサイドステップ。最後に追加されたオブジェクトへの参照を保持し、次のコンポーネントをこの要素と比較します。一致しない場合は、新しい「最後の」要素を追加できます。

3)その後、次の配列の次の要素を取り、あなたが「等しい」オブジェクトを見つけることができるかどうかを確認するハッシュテーブル内のすべての要素を削除します。終わりにハッシュテーブル

4からアレイを再構築)NSSetにすべての要素を削除した後、このNSSet

+1

番号4に進むと、簡単です。 –

+0

@Friedrichありがとう、私はハッシュテーブルはiPhoneで動作しないと思う。 NSSetから除外結合を取得するにはどうすればよいですか? –

+0

私はそれらをNSMutableSetに変換すると、私はintersectSetを行うことができます:他のセットからオブジェクトを削除するには –

3

参照NSMutableArray-removeObjectsInArray:方法から配列を再構築します。

+0

ありがとう、NSMutableArrayをNSArraysから作成する方法を見つけたら、それを動作させました。 NSMutableArray * oldAnnotations = [NSMutableArray arrayWithCapacity:[mapView.annotations count]]; [oldAnnotations addObjectsFromArray:mapView.annotations]; ' –

関連する問題