withUnsafePointer(to:_:)
Invokes the given closure with a pointer to the given argument.
func withUnsafePointer<T, Result>(to value: T, _ body: (UnsafePointer<T>) throws -> Result) rethrows -> Result
Parameters
- value
An instance to temporarily use via pointer.
- body
A closure that takes a pointer to
value
as its sole argument. If the closure has a return value, that value is also used as the return value of thewithUnsafePointer(to:_:)
function. The pointer argument is valid only for the duration of the function’s execution. It is undefined behavior to try to mutate through the pointer argument by converting it toUnsafeMutablePointer
or any other mutable pointer type. If you need to mutate the argument through the pointer, usewithUnsafeMutablePointer(to:_:)
instead.
Returns
The return value, if any, of the body
closure.
Overview
The withUnsafePointer(to:_:)
function is useful for calling Objective-C APIs that take in parameters by const pointer.
The pointer argument to body
is valid only during the execution of withUnsafePointer(to:_:)
. Do not store or return the pointer for later use.