Why is this the intentional behavior? Seems a bit strange that init() is a special exception to the rule.
16. May 2016 19:29 by [email protected]: > > >> On May 16, 2016, at 7:09 AM, tuuranton--- via swift-users <>> >> [email protected]>> > wrote: >> >> Why does the following code compile?>> Why does Bar's init(x: >> Int) automatically call Foo's init()?>> Why don't I have to manually call >> super.init() myself? > > This is intentional behavior. It kicks in when your super class has a > single designated initializer with a zero-argument init. This is why you > don’t have to call super.init() when deriving from NSObject. > -Chris > >> >> What passage of>> >> https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Initialization.html#//apple_ref/doc/uid/TP40014097-CH18-ID203>> >> >> tells me that this should be the case? >> -------------------->> class Foo {>> init() {>> print("foo >> init")>> }>> }>> class Bar: Foo {>> init(x: Int) {>> >> print("bar init")>> }>> }>> let b = Bar(x: 0)>> //prints:>> // bar >> init>> // foo init>> >> >> _______________________________________________ >> swift-users mailing list >> [email protected] >> https://lists.swift.org/mailman/listinfo/swift-users >> > >
_______________________________________________ swift-users mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-users
