5
根據Apple文檔initialize()
方法在接收到第一條消息之前初始化該類。NSObject的initialize()在Release版本配置中未調用
有人可以解釋爲什麼initialize()在Release build配置中不起作用嗎?
例如:
class Test: NSObject {
override class func initialize() {
print("initialize")
}
class func test() {
print("test")
}
}
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
Test.test()
}
}
輸出的調試配置:在發佈配置
initialize
test
輸出:
test
感謝您的回答。創建bug報告https://openradar.appspot.com/29389821 –
具體的設置似乎是Swift編譯器 - 代碼生成/優化級別。 '無[-Onone]與'快速單文件優化[-O]' – DDP