質問

違いは何ですか?

私のコンテキストでは、オブジェクトを動的に追加および削除できる必要があります。ユーザーは、オンとオフを切り替えるテーブルの行をクリックして、リストから参照オブジェクトを追加または削除します。

ワイルドな推測は、配列にはインデックスが付けられたアイテムがあり、セットにはインデックスがないということですか?

役に立ちましたか?

解決

NSSet / NSMutableSet は、特定の順序でアイテムを保持しません。 NSArray / NSMutableArray は、特定の順序でアイテムを保存します。テーブルビューを構築している場合は、必ず選択したデータソースとして配列を使用する必要があります。

他のヒント

また、NSMutableSetはすべてのオブジェクトが一意であることを確認します。

NSMutableArrayは、要素にインデックスがあるため、UITableViewに適しています。したがって、[array count]を返してテーブルの行数を取得するか、[array objectAtIndex:rowNumber]を返して要素を行に簡単に関連付けることができます。

また、ドキュメント、オブジェクトのメンバーシップのテストはNSSetsの方が高速です。

  

次の順序の場合、配列の代わりにセットを使用できます   要素は重要ではなく、オブジェクトが   セットに含まれていることは考慮事項です—配列が順序付けられている間、   メンバーシップのテストはセットよりも遅くなります。

まあ、3つの主な違いがあります。 1)セットには順序がありません2)インデックス&がありません3)配列が順序付けられ、インデックスが付けられ、重複する値を持つことはできません。重複する値を保存できます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top