Initializer

init(bytesNoCopy:count:deallocator:)

Creates a data buffer with memory content without copying the bytes. バイトをコピーすることなしに、データバッファをメモリ内容で作成します。

Declaration 宣言

init(bytesNoCopy bytes: UnsafeMutableRawPointer, count: Int, deallocator: Data.Deallocator)

Parameters パラメータ

bytes

A pointer to the bytes. それらバイトへのポインタ。

count

The size of the bytes. それらバイトのサイズ。

deallocator

Specifies the mechanism to free the indicated buffer, or .none. 指し示されたバッファを自由にする仕組み、または.noneを指定します。

Discussion 議論

If the result is mutated and is not a unique reference, then the Data will still follow copy-on-write semantics. In this case, the copy will use its own deallocator. Therefore, it is usually best to only use this initializer when you either enforce immutability with let or ensure that no other references to the underlying data are formed. 結果が可変であるそして固有な参照ではないならば、そのときDataは依然としてコピーオンライト意味論に従います。この場合には、コピーはそれ自身のデアロケータを使うでしょう。それゆえ、あなたがletを使って不変であることを強要するかまたは基底データへの他の参照が形成されないことを確実にするかのどちらかの場合にこのイニシャライザを使うだけであるのが通常は最良です。

See Also 参照

Creating Populated Data 事前入力されたDataを作成する