Skip to content

Instantly share code, notes, and snippets.

View oaleeapp's full-sized avatar

Victor Lee oaleeapp

View GitHub Profile
import Foundation
extension Dictionary {
mutating public func setValue(value: Any, forKeyPath keyPath: String) {
var keys = keyPath.components(separatedBy: ".")
guard let first = keys.first as? Key else { print("Unable to use string as key on type: \(Key.self)"); return }
keys.remove(at: 0)
if keys.isEmpty, let settable = value as? Value {
self[first] = settable
} else {