[swift-evolution] Add code to super methods.

Mustafa Sabur mustafa.sabur at icloud.com
Wed Nov 16 16:30:25 CST 2016


Hallo,

I have a very simple suggestion. And I’m not very sure then it haven’t been discussed already, so I’m sorry if that is the case.
I would like to see the ability to just add code to base methods instead of overriding it and calling supers method. So basically an extension for methods.

Example:

Now:
	override func viewDidLoad() {
		super.viewDidLoad()
		// Your code
	}

Suggestion:
	addinto func viewDidLoad() {
		// Your code
	}

My reasons:
1. Its very verbose about your intentions, which fits into Swift style. The thing you actually want is not overriding but appending. 
2. You cannot make the mistake of forgetting to call the supers method.
3. It open ways to introducing ‘semi-final’ methods, which cannot be override but you still can append to it. 
    This to make sure your API implementation will always be executed . I’m thinking about a keyword like extendable to specify that you can only add to it.
4. Less code.

I can’t think of any cons... Thought I can imagine that the benefits are quite small and maybe not worth the effort.
I would like to read some thoughts about this. Thank you!

Kind regards,
Mustafa Sabur



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20161116/d41a1448/attachment.html>


More information about the swift-evolution mailing list