如果想在 Swift 中用 method swizzling ,原先的做法是需要重写 OC 中的 initialize 方法:
open override static func initialize() { // Method Swizzling }
但是在 Swift3.1 中,苹果不再建议在 swift 中 override initialize Method ,会提示: 'initialize()' defines Objective-C class method 'initialize', which is not guaranteed to be invoked by Swift and will be disallowed in future versions
之前喵神在他的书的第二版里有提到 override initialize 方法来做 Method Swizzling , 但在第三版更新的时候删除了这部分内容,因为喵神觉得应该用更加 swift 化的方法来做。
现在求问改怎么改或者怎么重写才能继续使用 Method Swizzling 呢?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.