<html>
  <head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body>
Why is this the intentional behavior? Seems a bit strange that init() is a special exception to the rule.<br /><br />16. May 2016 19:29 by <a href="mailto:clattner@apple.com" target="_blank">clattner@apple.com</a>:<br /><br /><blockquote class="tutanota_quote" style="border-left: 1px solid #93A3B8; padding-left: 10px; margin-left: 5px;"><br /><div><blockquote class="thunderbird_quote" style="border-left: 1px solid #93a3b8 ; padding-left: 10px ; margin-left: 5px"><div>On May 16, 2016, at 7:09 AM, tuuranton--- via swift-users &lt;<a href="mailto:swift-users@swift.org" target="_blank">swift-users@swift.org</a>&gt; wrote:</div><br class="Apple-interchange-newline" /><div>
  
    
  
  <div>
<div>Why does the following code compile?</div><div>Why does Bar's init(x: Int) automatically call Foo's init()?</div><div>Why don't I have to manually call super.init() myself?</div></div></div></blockquote><div><br /></div><div>This is intentional behavior. &nbsp;It kicks in when your super class has a single designated initializer with a zero-argument init. &nbsp;This is why you don’t have to call super.init() when deriving from NSObject.</div><div><br /></div><div>-Chris</div><br /><blockquote class="thunderbird_quote" style="border-left: 1px solid #93a3b8 ; padding-left: 10px ; margin-left: 5px"><div><div><div><br /></div><div>What passage of</div><div><a href="https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Initialization.html#//apple_ref/doc/uid/TP40014097-CH18-ID203" target="_blank">https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Initialization.html#//apple_ref/doc/uid/TP40014097-CH18-ID203</a></div><div>tells me that this should be the case?</div><div><br /></div><div>--------------------</div><div>class Foo {</div><div>&nbsp; &nbsp; init() {</div><div>&nbsp; &nbsp; &nbsp; &nbsp; print(&quot;foo init&quot;)</div><div>&nbsp; &nbsp; }</div><div>}</div><div>class Bar: Foo {</div><div>&nbsp; &nbsp; init(x: Int) {</div><div>&nbsp; &nbsp; &nbsp; &nbsp; print(&quot;bar init&quot;)</div><div>&nbsp; &nbsp; }</div><div>}</div><div>let b = Bar(x: 0)</div><div>//prints:</div><div>// &nbsp; &nbsp;bar init</div><div>// &nbsp; &nbsp;foo init</div>  </div>

_______________________________________________<br />swift-users mailing list<br /><a href="mailto:swift-users@swift.org" target="_blank">swift-users@swift.org</a><br /><a href="https://lists.swift.org/mailman/listinfo/swift-users" target="_blank">https://lists.swift.org/mailman/listinfo/swift-users</a><br /></div></blockquote></div><br /></blockquote>  </body>
</html>