Moving this to swift-evolution.

It’s inconvenient that structs can’t inherit, and so things like Int and Double 
aren’t known as numbers. Should there be a Number protocol that encompasses all 
things number-like?

-Kenny


> On Apr 11, 2016, at 8:06 AM, Jeff Kelley via swift-users 
> <swift-us...@swift.org> wrote:
> 
> One possible solution is to create an empty Protocol that both Int and Double 
> conform to, perhaps DataValue, and then create your data structure like this:
> 
> var data: [String: DataValue]
> 
> 
> Jeff Kelley
> 
> slauncha...@gmail.com | @SlaunchaMan | jeffkelley.org
> 
>> On Apr 11, 2016, at 11:04 AM, Maury Markowitz via swift-users 
>> <swift-us...@swift.org> wrote:
>> 
>> I have a primary data structure that is currently defined such:
>> 
>> var data: [String: NSNumber]
>> 
>> This is the only place in my app where I use a Foundation type *as* a 
>> Foundation type (as opposed to a bridge), and I would strongly prefer this 
>> to be purely Swift types.
>> 
>> I used NSNumber because the original data is variant, a mix of Int and 
>> Double - in some instances the first two entries in the dict are Ints, while 
>> in others it's the first four, and others are a mix based on other data 
>> points (it's very annoying). I could use two dictionaries, but this would 
>> *greatly* confuse code further into the program.
>> 
>> I know I could use Double and then floor the ints. But I'm wondering if I'm 
>> missing some more natural solution? I don't believe there is a common base 
>> type for Int and Double, but perhaps there is another way to solve this?
>> _______________________________________________
>> swift-users mailing list
>> swift-us...@swift.org
>> https://lists.swift.org/mailman/listinfo/swift-users
> 
> _______________________________________________
> swift-users mailing list
> swift-us...@swift.org
> https://lists.swift.org/mailman/listinfo/swift-users

_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to