Hello community,
I just encountered a pretty weird behavior when I subclass
`UINavigationController` without overriding any initializers.
Simple Code:
import UIKit
class MyViewController: UINavigationController {
let value: Int = {
print("member init")
return 3
}()
}
let _ = MyViewController(rootViewController: UIViewController())
output is:
member init
member init
In fact any member variables declared in this subclass is initialized twice but
deinitialized only once.
This phenomenon only appears when using `init(rootViewController:)`.
CMIW, It looks like Swift somehow treat this initializer as a designated
initializer, rather than a convenience one.
Any Ideas?
_______________________________________________
swift-users mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-users