【发布时间】:2017-03-30 13:35:53
【问题描述】:
我在 XCode 8.3 中使用 Swift 3.1 并看到该警告:
方法'initialize()'定义了Objective-C类方法'initialize', 不能保证被 Swift 调用并且将被禁止 在未来的版本中
我使用Swizzling CocoaTouch class 并且对该部分有疑问:
extension UIViewController {
open override class func initialize() {
// make sure this isn't a subclass
guard self === UIViewController.self else { return }
swizzling(self)
}
// MARK: - Method Swizzling
func proj_viewWillAppear(animated: Bool) {
self.proj_viewWillAppear(animated: animated)
let viewControllerName = NSStringFromClass(type(of: self))
print("viewWillAppear: \(viewControllerName)")
}
}
如何重写那部分代码?
open override class func initialize()
修复新警告?
我看到了link,但我不明白如何在我的代码中使用信息。
【问题讨论】: