<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
I'm looking at the docs<div><a href="https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/Initialization.html#//apple_ref/doc/uid/TP40014097-CH18-ID203" target="_blank" rel="noopener noreferrer">https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/Initialization.html#//apple_ref/doc/uid/TP40014097-CH18-ID203</a><br /></div><div><br /></div><div>1st they say</div><div><br /></div><div>"A failable initializer can also delegate to a nonfailable initializer. Use this approach if you need to add a potential failure state to an existing initialization process that does not otherwise fail."</div><div><br /></div><div>2nd they say</div><div><br /></div><div>"You can override a failable initializer with a nonfailable initializer but not the other way around."</div><div><br /></div><div>This is not strictly conflicting info. But what is so special about OVERRIDDEN intializers? What is a good reason for why we cannot override a nonfailable initializer with a failable initializer? There must be some intuitive explanation that I'm missing.</div><div><br /></div><div>To clarify what I mean, here is the "conflict" I'm talking about:</div><div><br /></div><div>According to the 1st, this is possible:</div><div><br /></div><div>FAILABLE calls super.NONFAILABLE</div><div><br /></div><div>But according to the 2nd, 1st is only possible if FAILABLE does not OVERRIDE super.NONFAILABLE.</div><div><br /></div> </body>
</html>