Anyone know why initializer delegation in Swift requires "self." (i.e. self.init()) whereas "self." can normally be implicit?
Conversation
Replying to
perhaps to make the distinction between delegating across (self.init) and delegating up (super.init) more clear?
Replying to
to stress that "Convenience initializers must call another initializer available in the *same* class."
-Initializer Chaining
Replying to
from my point of view, the implicit self is a bug. It should be mandatory.
Replying to
May be there is also a init() in super class.So explicit "self" define the clearer approach which init() to be call
Replying to
closure capturing self&self referring to the closure thus creating a ref cycle. Self makes it explicit to avoid mistakes





