[swift-users] super.init() called automatically?

tuuranton at tutanota.de tuuranton at tutanota.de
Tue May 17 04:48:14 CDT 2016


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 clattner at apple.com:


>
>
>> 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>> 
>> 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/20160517/b9601eb8/attachment.html>


More information about the swift-users mailing list