> On May 16, 2016, at 1:59 PM, Brandon Knope <[email protected]> wrote:
> 
> Do you have a link to your proposal?

The part relevant to this thread is in the section “Interactions with other 
features”

https://github.com/anandabits/swift-evolution/blob/partial-initializers/proposals/NNNN-partial-initializers.md

> 
> Thanks,
> Brandon
> 
>> On May 16, 2016, at 2:58 PM, Matthew Johnson <[email protected] 
>> <mailto:[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] <mailto:[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] <mailto:[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