class Phone {
var model: String?
}
class Employee {
var firstName: String?
var lastName: String?
var personalPhone: Phone?
}
let iPhoneX = Phone()
iPhoneX.model = "iPhone X"
let petr = Employee()
petr.firstName = "Petr"
petr.lastName = "Ivanov"
petr.personalPhone = iPhoneX
let keyPath = \Employee.personalPhone?.model
var phoneModel = petr[keyPath: keyPath]
//phoneModel is "iPhone X"
print("phoneModel is \(phoneModel!)")
iPhoneX.model = "iPhone X 256"
phoneModel = petr[keyPath: keyPath]
//phoneModel is "iPhone X 256"
print("phoneModel is \(phoneModel!)")