Do you have a link to your proposal?

Thanks,
Brandon

> On May 16, 2016, at 2:58 PM, Matthew Johnson <[email protected]> wrote:
> 
> 
> 
> Sent from my iPad
> 
>> On May 16, 2016, at 12:33 PM, Michael Peternell via swift-evolution 
>> <[email protected] <mailto:[email protected]>> wrote:
>> 
>> Why not just use a (documentation) comment?
>> 
>> /// The Lifecycle extension:
>> extension ViewController {
> 
> There have been discussions about possibly allowing extensions to have stored 
> properties in the future.  If that comes to pass it may well be useful for 
> extensions to have a name that can be used to refer to the extension during 
> initialization.  I discussed possible syntax for that in my draft proposal 
> for partial initializers (which I tabled for Swift 3, but may revive in the 
> future).
> 
> 
>> ...
>> 
>> -Michael
>> 
>>> Am 16.05.2016 um 18:26 schrieb Brandon Knope via swift-evolution 
>>> <[email protected]>:
>>> 
>>> I like to separate methods into their own logical extensions so similar 
>>> methods are grouped together. I do this mostly with Cocoa Touch where I 
>>> like all view life cycle methods to be in the same extension:
>>> 
>>> extension ViewController {
>>>   override func viewDidLoad() {
>>>   }
>>> 
>>>   override func viewWillAppear(animated: Bool) {
>>>   }
>>> 
>>>   override func viewDidDisappear(animated: Bool) {
>>>   }
>>> }
>>> 
>>> You can document this somewhat by adding a MARK comment:
>>> 
>>> // MARK: Lifecylce
>>> extension ViewController {
>>>   override func viewDidLoad() {
>>>   }
>>> 
>>>   override func viewWillAppear(animated: Bool) {
>>>   }
>>> 
>>>   override func viewDidDisappear(animated: Bool) {
>>>   }
>>> }
>>> 
>>> What if we made this more self-documenting by elevating this to a language 
>>> feature?
>>> 
>>> extension ViewController named Lifecycle {
>>>   override func viewDidLoad() {
>>>   }
>>> 
>>>   override func viewWillAppear(animated: Bool) {
>>>   }
>>> 
>>>   override func viewDidDisappear(animated: Bool) {
>>>   }
>>> }
>>> 
>>> Other ways:
>>> extension named Lifecycle ViewController { }
>>> extension named “View Lifecycle" ViewController { }
>>> extension ViewController named “Multi word description” { }
>>> 
>>> 
>>> For now, this is purely a documenting feature (i.e. Can’t refer to the 
>>> extension name dynamically or statically in actual code). I think it plays 
>>> much more naturally with Swift than requiring this to be in the comments 
>>> and would work across all IDEs and make it easier for people to find a 
>>> specific extension as well as making their code more self documenting.
>>> 
>>> Any thoughts?
>>> 
>>> Thanks,
>>> Brandon
>>> 
>>> 
>>> 
>>> _______________________________________________
>>> swift-evolution mailing list
>>> [email protected]
>>> https://lists.swift.org/mailman/listinfo/swift-evolution
>> 
>> _______________________________________________
>> swift-evolution mailing list
>> [email protected] <mailto:[email protected]>
>> https://lists.swift.org/mailman/listinfo/swift-evolution 
>> <https://lists.swift.org/mailman/listinfo/swift-evolution>
_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to