[swift-evolution] Add code to super methods.
arkadi daniyelian
arkdan at icloud.com
Sat Nov 19 07:35:21 CST 2016
+1; if existed, i would use this feature instead of 'override' 90% of the time.
It also allows the superclass to define where to call 'super.method()' - at top or bottom of the method; although im not sure whether or not that will complicate method body of superclass with additional syntax.
> On Nov 17, 2016, at 12:30 AM, Mustafa Sabur via swift-evolution <swift-evolution at swift.org> wrote:
>
> 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
>
>
>
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20161119/45b90d97/attachment.html>
More information about the swift-evolution
mailing list