文書   >   Swift   >   Dictionary   >   init(_unsafeUninitializedCapacity:allowingDuplicates:initializingWith:)
イニシャライザ
init(_unsafeUninitializedCapacity:allowingDuplicates:
initializingWith:)
指定された容量で新しい辞書を作成し、与えられたクロージャを呼び出してその内容を初期化します。
宣言
パラメータ
capacity | 新しい辞書の容量。 |
allowingDuplicates | false の場合、呼び出し元はすべてのキーが一意であることを保証します。この約束は検証されていません。それが false であることが判明した場合、結果の辞書は無効になります。 |
body | 辞書の要素を初期化できるクロージャ。このクロージャは、初期化された要素の数を、バッファの先頭から始めて返します。 |
議論
Foundation は、このイニシャライザを使用して、中間バッファのペアを割り当てることなく、NSDictionary インスタンスのコンテンツをブリッジします。辞書の要素を初期化できる必要な容量とクロージャを渡します。クロージャは、範囲 0..<c 内の要素が初期化され、範囲 c..< capacity 内の要素が初期化されないように、両方のバッファで初期化された要素の数 c を返さなければなりません。
結果となる辞書の count は c 以下です。実際のカウントは、初期化されたキーの一部が重複していた場合少なくなります。(allowingDuplicates が false の場合、これは発生しません。)
クロージャに渡されたバッファは、呼び出しの間のみ有効です。クロージャが戻った後、このイニシャライザは初期化されたすべての要素を適切なバケットに移動します。
トップへ
トップへ
トップへ
トップへ
トップへ