Collections ยท SWIFT RECIPE

Merge dictionaries

Choose which value wins when keys collide.

main.swift
let defaults = ["theme": "light", "language": "en"]
let custom = ["theme": "dark"]
let settings = defaults.merging(custom) { _, new in new }
print(settings["theme"] ?? "")
print(settings["language"] ?? "")

How it works

merging returns a new dictionary. The conflict closure receives the old and new values; returning new makes overrides win.

EXPECTED OUTPUT
dark
en

Keep in mind

Choose conflict behavior deliberately rather than silently dropping meaningful data.

Read the Swift language reference