Not a big fan of this implict behaviour. Not super obvious. *___________________________________*
*James⎥Head of Trolls* *ja...@supmenow.com <ja...@supmenow.com>⎥supmenow.com <http://supmenow.com>* *Sup* *Runway East * *10 Finsbury Square* *London* * EC2A 1AF * On 17 May 2016 at 10:48, tuuranton--- via swift-users <swift-users@swift.org > wrote: > 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 clatt...@apple.com: > > > > On May 16, 2016, at 7:09 AM, tuuranton--- via swift-users < > swift-users@swift.org> 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 > swift-users@swift.org > https://lists.swift.org/mailman/listinfo/swift-users > > > > _______________________________________________ > swift-users mailing list > swift-users@swift.org > https://lists.swift.org/mailman/listinfo/swift-users > >
_______________________________________________ swift-users mailing list swift-users@swift.org https://lists.swift.org/mailman/listinfo/swift-users