A naive "valueForKey:" operator in Swift

July 12, 2014 ยท View on GitHub

operator infix --> {} func --> (instance: Any, key: String) -> Any? { let mirror = reflect(instance)

for index in 0 ..< mirror.count {
    let (childKey, childMirror) = mirror[index]
    if childKey == key {
        return childMirror.value
    }
}

return nil

}

//Example struct MyPoint { let x: Float let y: Float }

let point = MyPoint(x: 1, y: 2) point --> "x" point --> "y"