A closure with an Unsafe
parameter that points to the contiguous storage for the array. If no such storage exists, it is created. If body
has a return value, that value is also used as the return value for the with
method. The argument is valid only for the duration of the closure’s execution.
あるクロージャでUnsafe
パラメータを持ち、それはその配列のための隣接ストレージを指し示します。そのようなストレージが存在しないならば、それは作成されます。body
が戻り値を持つならば、その値はまたwith
メソッドの戻り値としても使われます。引数は、ただクロージャの実行の間に対してのみ有効とされます。
withUnsafeBytes(_:)
Availability
- iOS 8.0+
- iPadOS 8.0+
- macOS 10.10+
- Mac Catalyst 13.0+
- tvOS 9.0+
- watchOS 2.0+
- Xcode 8.0+
Technology
- Swift Standard Library Swift標準ライブラリ
Declaration 宣言
func withUnsafeBytes<R>(_ body: (UnsafeRawBufferPointer
) throws -> R) rethrows -> R
Parameters パラメータ
body
Raw Buffer Pointer Unsafe Bytes(_:) Raw Buffer Pointer Unsafe Bytes(_:)
Return Value 戻り値
The return value, if any, of the body
closure parameter.
body
クロージャパラメータの戻り値、もしあれば。
Discussion 解説
The array’s Element
type must be a trivial type, which can be copied with just a bit-for-bit copy without any indirection or reference-counting operations. Generally, native Swift types that do not contain strong or weak references are trivial, as are imported C structs and enums.
この配列の持つElement
型は自明型でなければなりません、それは単にビット対ビットコピーでコピーされることが、何らかの間接参照または参照カウント操作なしで可能です。一般に、生粋のSwift型で強いまたは弱い参照を含まないものは自明です、インポートされたCのstructとenumのように。
The following example copies the bytes of the numbers
array into a buffer of UInt8
:
以下の例は、numbers
配列のバイトをUInt8
のバッファへとコピーします:
Note 注意
This example shows the behavior on a little-endian platform. この例は、リトルエンディアンプラットホーム上での挙動を示します。