OrderedSet は基本的に、Foundation の NSOrderedSet/NSMutableOrderedSet に相当する Swift です。これは、Swift がジェネリックによる強力な型指定をサポートする高速検索パフォーマンスを備えた独自の順序付けられたコレクションを持つように作成され、Swift の構造体と列挙型をそこに保存できるようになりました。
OrderedSet は配列と非常によく似た働きをします。その基本的な使用例をいくつか示します。
var set = OrderedSet < Int > ( )
set . append ( 1 )
set . contains ( 1 ) // => true
set [ 0 ] = 2
set [ 0 ] // => 2
set . insert ( 3 , at : 0 )
set // => [3, 2]
set = [ 1 , 2 , 3 ] // OrderedSet's support array literals
set // => [1, 2, 3]
set += [ 3 , 4 ] // You can concatenate any sequence type to an OrderedSet
set // => [1, 2, 3, 4] (Since 3 was already in the set it was not added again)
また、OrderedSet の検索には、可能であればグローバル Swift メソッドの代わりにインスタンス メソッドを使用することをお勧めします。たとえば、Swift.contains(haystack, needle) メソッドは、OrderedSet.contains(needle) メソッドが実行する高速検索実装を利用する代わりに、OrderedSet を列挙します。
必ず単体テストをチェックして、実際に OrderedSet を操作するさまざまな方法をすべて確認してください。また、サンプル プロジェクトをチェックアウトすることもできます。このプロジェクトでは、配列の代わりに OrderedSet を使用するようにデフォルトのマスター/ディテール プロジェクトを調整しています。
OrderedSet は、Sources ディレクトリ内の単一の Swift ファイルです。そのファイルをプロジェクトにコピーするか、次の行を Podfile に追加して CocoaPods 経由で使用できます。
pod 'OrderedSet' , '5.0'
または追加してカルタゴ経由で使用します
github "Weebly/OrderedSet"
Cartfile に追加し、アプリに OrderedSet.framework を埋め込みます。
次に、OrderedSet を使用する場所に次のインポートを追加します。
import OrderedSet
SwiftPM の使用:
package . append ( . package ( url : " https://github.com/Weebly/OrderedSet.git " , . upToNextMajor ( from : " 5.0.0 " ) ) )
OrderedSet は MIT ライセンスの下で利用できます。詳細については、LICENSE ファイルを参照してください。
OrderedSet をより良いものにするために、皆様のご協力をお待ちしております。お気軽に