Generic Function
withUnsafeMutablePointer(to:_:)
Calls the given closure with a mutable pointer to the given argument.
与えられたクロージャを与えられた引数に対する可変ポインタを使って呼び出します。
Technology
- Swift Standard Library
Swift標準ライブラリ
Declaration
宣言
func withUnsafeMutablePointer<T, Result>(to value: inout T, _ body: (UnsafeMutablePointer
<T>) throws -> Result) rethrows -> Result
Parameters
パラメータ
value
An instance to temporarily use via pointer. Note that the inout
exclusivity rules mean that, like any other inout
argument, value
cannot be directly accessed by other code for the duration of body
. Access must only occur through the pointer argument to body
until body
returns.
ポインタ経由で一時的に使われることになるインスタンス。inout
排他規則が意味することに注意してください、何か他のinout
と同様に、value
はbody
の継続期間には他のコードによって直接にアクセス可能ではありません。アクセスは、body
に対するポインタ引数を通して、body
が返るまでに、発生するだけでなければなりません。
body
A closure that takes a mutable pointer to value
as its sole argument. If the closure has a return value, that value is also used as the return value of the withUnsafeMutablePointer(to:_:)
function. The pointer argument is valid only for the duration of the function’s execution.
value
への可変ポインタをそれの唯一の引数として取るクロージャ。クロージャが戻り値を持つならば、その値はまたwithUnsafeMutablePointer(to:_:)
関数の戻り値としても使われます。ポインタ引数は、関数の実行の継続期間に対してだけ有効です。
Return Value
戻り値
The return value, if any, of the body
closure.
body
クロージャの、もしあれば、戻り値。
Discussion
解説
The withUnsafeMutablePointer(to:_:)
function is useful for calling Objective-C APIs that take in/out parameters (and default-constructible out parameters) by pointer.
withUnsafeMutablePointer(to:_:)
関数は、ポインタによって「in/out」パラメータ(そして何もしなくとも構築可能な「out」パラメーター)を取るObjective-C APIを呼ぶのに役立ちます。
The pointer argument to body
is valid only during the execution of withUnsafeMutablePointer(to:_:)
. Do not store or return the pointer for later use.
body
へのポインタ引数は、withUnsafeMutablePointer(to:_:)
の実行の間のみ有効です。後で使うためにポインタを格納したり返したりしないでください。