У меня есть простой сценарий, в котором у меня есть родительский класс Person, который определяет свойство, называемое "name", и включает в себя наблюдателя "didSet"...
class Person {
var name: String? {
didSet {
println("Person name was set.")
}
}
init() {}
}
У меня также есть подкласс Person called Employee, который добавляет свой собственный наблюдатель "didSet" для свойства "name", чтобы он мог отслеживать изменения этого свойства...
class Employee: Person {
override var name: String? {
didSet {
println("Employee name was set.")
}
}
}
Когда я пытаюсь использовать код, я получаю ошибку компиляции, но я не могу понять, почему и как его исправить. Здесь код, который выполняет эти классы...
var person = Person()
person.name = "Bob"
var employee = Employee()
employee.name = "Sally" // results in "Ambiguous use of 'name'" compile error