Function

method_exchangeImplementations(_:_:)

Exchanges the implementations of two methods.

Declaration

func method_exchangeImplementations(_ m1: Method, _ m2: Method)

Discussion

This is an atomic version of the following:

IMP imp1 = method_getImplementation(m1);
IMP imp2 = method_getImplementation(m2);
method_setImplementation(m1, imp2);
method_setImplementation(m2, imp1);

See Also

Working with Methods

func method_getName(Method) -> Selector

Returns the name of a method.

func method_getImplementation(Method) -> IMP

Returns the implementation of a method.

func method_getTypeEncoding(Method) -> UnsafePointer<Int8>?

Returns a string describing a method's parameter and return types.

func method_copyReturnType(Method) -> UnsafeMutablePointer<Int8>

Returns a string describing a method's return type.

func method_copyArgumentType(Method, UInt32) -> UnsafeMutablePointer<Int8>?

Returns a string describing a single parameter type of a method.

func method_getReturnType(Method, UnsafeMutablePointer<Int8>, Int)

Returns by reference a string describing a method's return type.

func method_getNumberOfArguments(Method) -> UInt32

Returns the number of arguments accepted by a method.

func method_getArgumentType(Method, UInt32, UnsafeMutablePointer<Int8>?, Int)

Returns by reference a string describing a single parameter type of a method.

func method_getDescription(Method) -> UnsafeMutablePointer<objc_method_description>

Returns a method description structure for a specified method.

func method_setImplementation(Method, IMP) -> IMP

Sets the implementation of a method.

Beta Software

This documentation contains preliminary information about an API or technology in development. This information is subject to change, and software implemented according to this documentation should be tested with final operating system software.

Learn more about using Apple's beta software