文書   >   Swift   >   Swift 標準ライブラリ  >   手動でメモリ管理   >   withUnsafePointer(to:_:)
汎用関数
withUnsafePointer(to:_:)
与えられた引数へのポインタを使用して、与えられたクロージャを呼び出します。
宣言
パラメータ
value | ポインタを介して一時的に使用するインスタンス。inout の排他的ルールは、他の inout 引数と同様に、body の間中は他のコードからvalues に直接アクセスできないことを意味することに注意してください。body が戻るまで、 body へのポインタ引数を介してのみアクセスしなければなりません。 |
body | value へのポインタを唯一の引数としてとるクロージャ。クロージャに戻り値がある場合、その値は withUnsafePointer(to:_:) 関数の戻り値としても使用されます。ポインタ引数は、関数の実行中のみ有効です。ポインタ引数を UnsafeMutablePointer または他の可変ポインタ型に変換することにより、ポインタ引数を変更しようとするのは定義されていない動作です。ポインタを使用して引数を変更する必要がある場合は、代わりに withUnsafeMutablePointer(to:_:) を使用して下さい。 |
戻り値
もしあれば、body クロージャの戻り値。
議論
withUnsafePointer(to:_:) 関数は、const ポインタによってパラメータを受け取る Objective-C API の呼び出しに役立ちます。
body へのポインタ引数は、withUnsafePointer(to:_:) の実行中のみ有効です。後で使用するためにポインタを保存したり戻したりしないでください。
以下も見よ
メモリアクセス
func withUnsafePointer<T, Result>(to: T, (UnsafePointer<T>) -> Result) -> Result
与えられた引数へのポインタを使用して、与えられたクロージャを呼び出します。
与えられた引数への可変ポインタを使用して、与えられたクロージャを呼び出します。
func withUnsafeBytes<T, Result>(of: T, (UnsafeRawBufferPointer) -> Result) -> Result
与えられた引数の生のバイトをカバーするバッファポインタを使用して、与えられたクロージャを呼び出します。
func withUnsafeBytes<T, Result>(of: inout T, (UnsafeRawBufferPointer) -> Result) -> Result
与えられた引数の生のバイトをカバーするバッファポインタを使用して、与えられたクロージャを呼び出します。
与えられた引数の生のバイトをカバーする可変バッファポインタを使用して、与えられたクロージャを呼び出します。
func swap<T>(inout T, inout T)
2 つの引数の値を交換します。
トップへ
トップへ
トップへ
トップへ
トップへ