Обеспечение соответствие KVC
Для класса, который будут считать KVC совместимый для определенного свойства, это должно реализовать методы, требуемые для valueForKey: и setValue:forKey: работать на то свойство.
Атрибут и к - одно соответствие отношения
Для свойств, которые являются атрибутом или к - одно отношение, это требует что Ваш класс:
Реализуйте названный метод
-<key>,-is<Key>, или имейте переменную экземпляра<key>или_<key>.Несмотря на то, что ключевые имена часто начинаются со строчной буквы, KVC также поддерживает ключевые имена, начинающиеся с прописной буквы, такой как
URL.Если свойство является непостоянным, то оно должно также реализовать
-set<Key>:.Ваша реализация
-set<Key>:метод не должен выполнять проверку.Ваш класс должен реализовать
-validate<Key>:error:если проверка является подходящей для ключа.
Индексированный к - многие соответствие отношения
Для индексируемого к - много отношений, соответствие KVC требует что Ваш класс:
Реализуйте названный метод
-<key>это возвращает массив.Или назовите переменную экземпляра массива
<key>или_<key>.Или реализуйте метод
-countOf<Key>и один или оба из-objectIn<Key>AtIndex:или-<key>AtIndexes:.Дополнительно, можно также реализовать
-get<Key>:range:улучшить производительность.
Для непостоянного, индексированного упорядоченный - многие отношение, соответствие KVC требует что Ваш класс также:
Реализуйте один или оба из методов
-insertObject:in<Key>AtIndex:или-insert<Key>:atIndexes:.Реализуйте один или оба из методов
-removeObjectFrom<Key>AtIndex:или-remove<Key>AtIndexes:.Дополнительно, можно также реализовать
-replaceObjectIn<Key>AtIndex:withObject:или-replace<Key>AtIndexes:with<Key>:улучшить производительность.
Неупорядоченный - многие соответствие отношения
Для неупорядоченного к - много отношений, соответствие KVC требует что Ваш класс:
Реализуйте названный метод
-<key>это возвращает набор.Или назовите переменную экземпляра набора
<key>или_<key>.Или реализуйте методы
-countOf<Key>,-enumeratorOf<Key>, и-memberOf<Key>:.
Для непостоянного, неупорядоченного - многие отношение, соответствие KVC требует что Ваш класс также:
Реализуйте один или оба из методов
-add<Key>Object:или-add<Key>:.Реализуйте один или оба из методов
-remove<Key>Object:или-remove<Key>:.Дополнительно, можно также реализовать
-intersect<Key>:и-set<Key>:улучшить производительность.