[swift-users] super.init() called automatically?
Chris Lattner
clattner at apple.com
Mon May 16 12:29:59 CDT 2016
> On May 16, 2016, at 7:09 AM, tuuranton--- via swift-users <swift-users at 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 <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 at swift.org
> https://lists.swift.org/mailman/listinfo/swift-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-users/attachments/20160516/4d0e0464/attachment.html>
More information about the swift-users
mailing list