[swift-evolution] [discussion] Class stored properties?

Charlie Monroe charlie at charliemonroe.net
Wed Aug 9 09:24:09 CDT 2017


It's common for a class to return a value (class var), but setting it on a per-class basis IMHO isn't *that* common. But maybe I'm mistaken.

> On Aug 9, 2017, at 1:09 PM, Mathew Huusko V <mhuusko5 at gmail.com> wrote:
> 
> My use case is an abstract class. In Objective-C I used associated values on the dynamic class object, and I had come to think this was relatively common. I guess not.
> 
> On Wed, Aug 9, 2017 at 12:01 PM, Charlie Monroe <charlie at charliemonroe.net <mailto:charlie at charliemonroe.net>> wrote:
> Hi,
> 
> can you provide a usecase for this? I remember this being used in ObjC for +version, but I'm not sure anymore where I'd use this...
> 
> BTW you don't need to stringify, use ObjectIdentifier (part of stdlib).
> 
> > On Aug 9, 2017, at 12:54 PM, Mathew Huusko V via swift-evolution <swift-evolution at swift.org <mailto:swift-evolution at swift.org>> wrote:
> >
> > Curious if class stored properties have ever been discussed (doesn't seem so..)?
> >
> > Also, assuming no, and assuming there's a good reason no/they're not coming anytime soon, what are some patterns people have been using in their place? I was considering something like..
> >
> > class SomeClass {
> >     private static var _classValues = [SomeClass.Type: Int]()
> >
> >     class var value: Int {
> >         get { _classValues[self] }
> >         set { _classValues[self] = newValue }
> >     }
> > }
> >
> > .. but then I remembered types aren't hashable yet either (so I guess I need to stringify it first).
> > _______________________________________________
> > swift-evolution mailing list
> > swift-evolution at swift.org <mailto:swift-evolution at swift.org>
> > https://lists.swift.org/mailman/listinfo/swift-evolution <https://lists.swift.org/mailman/listinfo/swift-evolution>
> 
> 

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


More information about the swift-evolution mailing list