Invokes the given closure with a pointer to the given argument.
SDK
- Xcode 8.0+
Framework
- Swift Standard Library
Declaration
Parameters
value
An instance to temporarily use via pointer. Note that the
inout
exclusivity rules mean that, like any otherinout
argument,value
cannot be directly accessed by other code for the duration ofbody
. Access must only occur through the pointer argument tobody
untilbody
returns.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 thewith
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 toUnsafe Pointer(to: _:) Unsafe
or any other mutable pointer type. If you need to mutate the argument through the pointer, useMutable Pointer with
instead.Unsafe Mutable Pointer(to: _:)
Return Value
The return value, if any, of the body
closure.
Discussion
The with
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 with
. Do not store or return the pointer for later use.