Ost*_*ach 6 xcode cocoa ios swift
根据Apple文档initialize()
方法,在收到第一条消息之前初始化类.
有人可以解释为什么initialize()在Release构建配置中不起作用吗?
例如:
class Test: NSObject {
override class func initialize() {
print("initialize")
}
class func test() {
print("test")
}
}
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
Test.test()
}
}
Run Code Online (Sandbox Code Playgroud)
调试配置中的输出:
initialize
test
Run Code Online (Sandbox Code Playgroud)
发布配置中的输出:
test
Run Code Online (Sandbox Code Playgroud)
我做了一个快速测试,看起来除非您创建该类的实例,否则不会调用Release
配置。+ initialize
然而在Debug
调用类方法就足以触发+initialize
。看起来像是一个无证警告。
编辑:更有趣的事实是,对于 Objective-C 项目,在Debug
配置中Release
调用类方法就足以触发+ initialize
. 我想说这是一个错误。您可能需要为其归档雷达。
归档时间: |
|
查看次数: |
133 次 |
最近记录: |