Function

method_exchangeImplementations(_:_:)

Exchanges the implementations of two methods.

Declaration

iOS, tvOS, watchOS
func method_exchangeImplementations(_ m1: Method!, _ m2: Method!)
macOS
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)

Returns the name of a method.

func method_getImplementation(Method)

Returns the implementation of a method.

func method_getTypeEncoding(Method)

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

func method_copyReturnType(Method)

Returns a string describing a method's return type.

func method_copyArgumentType(Method, UInt32)

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)

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)

Returns a method description structure for a specified method.

func method_setImplementation(Method, IMP)

Sets the implementation of a method.