Ниже приведен пример использования:
class Foo: NSObject {
var bar = ""
}
let foo = Foo()
foo.setValue("A name", forKey: "bar") //throws exception: this class is not key value coding-compliant for the key bar.
print("Foo.bar: \(foo.bar)")
В документации Apple ( здесь ) говорится, что в Swift каждый подкласс NSObject класса становится по умолчанию совместимым со значением ключа. Если да, то почему я получаю исключение, не соответствующее ключевому значению?
Объекты Swift, наследуемые от NSObject или одного из его подклассов, по умолчанию соответствуют кодированию значений ключа для своих свойств.
Я что-то упускаю? Знает ли кто-нибудь, в чем может быть проблема?
Примечание: я попытался сделать свойство «bar» NSString, но получил то же исключение.