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