As a ruby programmer, I have to admit that I've tried to do this in Swift several times before remembering again that it isn't possible. +1
On Thu, Apr 28, 2016 at 3:44 PM, Howard Lovatt via swift-evolution < [email protected]> wrote: > +1 very handy to associate types together > > > On Friday, 29 April 2016, Michael Peternell via swift-evolution < > [email protected]> wrote: > >> I think that would be a good feature. >> >> > Am 28.04.2016 um 19:15 schrieb Brad Hilton via swift-evolution < >> [email protected]>: >> > >> > Type nesting allows some convenient and straightforward semantics that >> we see inside the Swift standard library such as views on String like >> String.CharacterView, String.UnicodeScalarView, etc. However a protocol >> cannot be nested in a type and gives a non-obvious error that the >> “Declaration is only valid at file scope.” Just as other nested types allow >> proper contextual scoping, a nested protocol could make a lot sense for a >> number of patterns. For example, there are many “Delegate” protocols >> throughout the Cocoa frameworks. Here’s a controller/delegate pattern >> before and after type nesting: >> > >> > // Without type nesting >> > >> > protocol MyControllerDelegate : class { >> > >> > } >> > >> > class MyController { >> > >> > weak var delegate: MyControllerDelegate? >> > >> > } >> > >> > // With type nesting >> > >> > class MyController { >> > >> > weak var delegate: Delegate? >> > >> > protocol Delegate : class { >> > >> > } >> > >> > } >> > >> > Though the change is mostly semantics, it does allow an explicit >> association between My Controller and the Delegate instead of only a named >> association. It also cleans up the module name space like other nested >> types and makes associated protocols more discoverable in my opinion. >> > >> > I’d love to hear everyone’s thoughts. >> > >> > Brad Hilton >> > _______________________________________________ >> > swift-evolution mailing list >> > [email protected] >> > https://lists.swift.org/mailman/listinfo/swift-evolution >> >> _______________________________________________ >> swift-evolution mailing list >> [email protected] >> https://lists.swift.org/mailman/listinfo/swift-evolution >> > > > -- > -- Howard. > > _______________________________________________ > swift-evolution mailing list > [email protected] > https://lists.swift.org/mailman/listinfo/swift-evolution > > -- [email protected] http://www.CircleW.org/kurt/
_______________________________________________ swift-evolution mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-evolution
