withUnsafeMutablePointer

func withUnsafeMutablePointer<T, Result>(to: inout T, _: (UnsafeMutablePointer<T>) throws -> Result)

Calls the given closure with a mutable pointer to the given argument.

The withUnsafeMutablePointer(to:_:) function is useful for calling Objective-C APIs that take in/out parameters (and default-constructible out parameters) by pointer.

The pointer argument to body is valid only during the execution of withUnsafeMutablePointer(to:_:). Do not store or return the pointer for later use.

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. 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. Returns: The return value, if any, of the body closure.

Declaration

func withUnsafeMutablePointer<T, Result>(to value: inout T, _ body: (UnsafeMutablePointer<T>) throws -> Result) rethrows -> Result