I’ll try.  Is that cast smart enough to apply recursively? We shall see.

Sent from my iPad

> On Oct 19, 2017, at 7:34 AM, Geordie Jay <geo...@gmail.com> wrote:
> 
> I mean can you do something along the lines of
> 
> let codableDict = stringAnyDict as? [String : Codable]
> 
> ?
> 
> I’m not at a computer to test it myself
> 
> 
> 
> 
> David Baraff <davidbar...@gmail.com> schrieb am Do. 19. Okt. 2017 um 15:45:
>> That’s exactly what I want.  The ironic part is that I got my dictionary by 
>> decoding a Json file.  If that’s where my dictionary came from, is there a 
>> simple way of coercing the Json serialization routines to give me back 
>> codables, rather than Anys?
>> 
>> 
>> Sent from my iPad
>> 
>>> On Oct 19, 2017, at 3:38 AM, Geordie Jay <geo...@gmail.com> wrote:
>>> 
>>> 
>>> David Baraff via swift-users <swift-users@swift.org> schrieb am Do. 19. 
>>> Okt. 2017 um 03:47:
>>>> So I have simple structs like this:
>>>> 
>>>>         struct Library: Codable {
>>>>                 let domain: String
>>>>                 let unit: String
>>>>         }
>>>> 
>>>> and it’s super-simple to serialize.  Yay.
>>>> 
>>>> But:
>>>> 
>>>>         struct LibraryGroup : Codable {         // I wish...
>>>>            let libraries: [Library]
>>>>            let someDict: [String : Any]
>>>>         }
>>> 
>>> I haven’t tried this, but is it possible to have a dictionary of [String : 
>>> Codable] ? Because that’s exactly the type requirements you’re describing, 
>>> no?
>>> 
>>> Geordie
>>> 
>>>> 
>>>> So what I’m looking for is something where if the values in someDict are 
>>>> themselves Codable, I can serialize things, and if they’re not, I can’t.  
>>>> In my previous scheme, I was using NSKeyedArchiver to serialize 
>>>> everything, manualy, including someDict; in trying to switch to Codable I 
>>>> ran smack into the fact that Codable wants to know what all the types are, 
>>>> in advance.
>>>> 
>>>> Am I just stuck?  How do I get the best of both worlds, where the compiler 
>>>> can make use of the fact that it can see the data types of my structures, 
>>>> while still being able to serialize heterogenous data like is found in 
>>>> LibraryGroup?
>>>> 
>>>> Is my only alternative to write a custom coder for LibraryGroup?  Is there 
>>>> any hope I could teach Codable what to do with
>>>>         [String: Any]
>>>> 
>>>> ?
>>>> 
>>>> 
>>>> _______________________________________________
>>>> swift-users mailing list
>>>> swift-users@swift.org
>>>> https://lists.swift.org/mailman/listinfo/swift-users
_______________________________________________
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users

Reply via email to