NSObjectProtocol
-
Mechanica
Exchanges the implementations of two methods given their corresponding selectors.
To use method swizzling with your Swift classes there are two requirements that you must comply with:
- The class containing the methods to be swizzled must extend NSObject.
- The methods you want to swizzle must have the dynamic attribute.
Note
In Objective-C you’d perform the swizzling in load() , but this method is not permitted in Swift. But load is a Objective-C only method and cannot be overridden in Swift, trying to do it anyway will result in a compile time error. The next best place to perform the swizzling is in initialize, a method called right before the first method of your class is invoked.
-