Skip to content

Instantly share code, notes, and snippets.

@nhathm
Last active March 31, 2019 20:26
Show Gist options
  • Save nhathm/2efbda56f728ef7c434eb1a8379d2030 to your computer and use it in GitHub Desktop.
Save nhathm/2efbda56f728ef7c434eb1a8379d2030 to your computer and use it in GitHub Desktop.
import Foundation
// Dynamic Member Lookup
@dynamicMemberLookup
struct Computer {
var values: [String: String]
subscript(dynamicMember member: String) -> String {
return values[member, default: "Value for \(member) not exist"]
}
}
let computerInfo = ["brand": "Apple", "type": "Macbook Pro", "price": "2999$"]
let computer = Computer(values: computerInfo)
print(computer.brand) // Apple
print(computer.type) // Macbook Pro
print(computer.color) // Value for color not exist
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment