XCode 15.2 日本語化計画:New Human Interface Guideline
シーケンスの連続した保管場所に対してクロージャを実行します。
body
シーケンスの連続した保管場所への UnsafeBufferPointer を受け取るクロージャ。
シーケンスが連続した保管場所をサポートしていない限り、body から返される値。その場合、メソッドは body を無視して nil を返します。
このメソッドは body(buffer) を呼び出します。ここで、buffer はコレクションの連続した保管場所へのポインタです。連続した保管場所が存在しない場合は、コレクションが作成します。コレクションが連続した保管場所の形式での内部表現をサポートしていない場合、メソッドは body を呼び出さず、すぐに nil を返します。
最適化処理は多くの場合、アルゴリズム内の境界と一意性のチェックを排除できます。ただし、それが失敗した場合は、buffer 引数で同じアルゴリズムを呼び出すことで、安全性を優先して速度を犠牲にすることができる場合があります。
このメソッドを連続して呼び出すと、呼び出しごとに異なるポインタが提供される場合があります。このメソッドの外に buffer を保存しないでください。
このメソッドの独自の実装を提供する Collection は、コレクション内に出現するのと同じ順序でその要素に連続した保管場所を提供しなければなりません。これにより、サブシーケンスの startIndex と endIndex それぞれまでの距離から形成される範囲で buffer をスライスすることにより、そのサブシーケンスのいずれかに連続した可変保管場所を生成できることが保証されます。