Nate Cook proposed merging dictionary initializers (with optional conflict 
resolution) to be added to the standard library:

  SE-0100 Add sequence-based initializers and merge methods to Dictionary
  
https://github.com/apple/swift-evolution/blob/master/proposals/0100-add-sequence-based-init-and-merge-to-dictionary.md

Martin


> On 11 Nov 2016, at 09:14, Ray Fix via swift-users <swift-users@swift.org> 
> wrote:
> 
> Hi Mr Bee,
> 
> The reason I don’t think it is provided is because it is difficult to know 
> what to do when keys collide.  You could easily write such a thing and decide 
> your own policy.  For example:
> 
> let d1 = ["Apples": 20, "Oranges": 13]
> let d2 = ["Oranges": 3, "Cherries": 9]
> 
> extension Dictionary {
>     func merged(with another: [Key: Value]) -> [Key: Value] {
>         var result = self
>         for entry in another {
>             result[entry.key] = entry.value
>         }
>         return result
>     }
> }
> 
> let result = d1.merged(with: d2)
> 
> 
>> On Nov 11, 2016, at 12:05 AM, Mr Bee via swift-users <swift-users@swift.org> 
>> wrote:
>> 
>> Hi,
>> 
>> I'm using Swift v3 on an El Capitan machine. I want to merge a dictionary 
>> into another compatible dictionary. However, I couldn't find addEntries 
>> function in the dictionary instance, like it was on NSMutableDictionary 
>> (https://developer.apple.com/reference/foundation/nsmutabledictionary). 
>> 
>> Does that mean that Swift standard library won't provide such similar 
>> function for native Swift dictionary? Or is there any other way of doing 
>> that natively? I mean using the built-in Swift's native dictionary function 
>> (https://developer.apple.com/reference/swift/dictionary), no need to write a 
>> custom function, or bridging to NSMutableDictionary.
>> 
>> Thank you.
>> 
>> Regards,
>> 
>> –Mr Bee
>> 
>> _______________________________________________
>> 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

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

Reply via email to