KVC для записи в NSDictionary
У меня есть NSDictionary
сопоставления строк с числами, которые содержат свойства объекта, подлежащего редактированию в пользовательском интерфейсе, например
Length
:1
Height
:2
Теперь попытка связать текстовые поля в пользовательском интерфейсе с записями в словаре с использованием ключа элементов в словаре в пути ключа с треском проваливается, поэтому пытается просто получить доступ к записям в словаре с помощью valueForKey:
лайк
NSLog(@"KVC: %@", [self valueForKey:@"keysAndValues"]);
-> Хорошо, дамп показывает, что Length
хранится в словаре.
NSLog(@"KVC: %@", [self valueForKey:@"keysAndValues.Length"]);
[
этот класс не совместим со значением ключа для ключа keysAndValues.Length.
Любые предложения о том, как настроить привязки пользовательского интерфейса с довольно общей моделью, хранящей все это в словаре? Я почти уверен, что читал, что KVC/KVO с путями для доступа к отдельным записям в словаре на самом деле работает - но больше не могу найти тему...
1 ответ
Вы хотите использовать valueForKeyPath:
, который принимает список ключей, разделенных точками. Просто используя valueForKey
не может включать ряд ключей, как в вашем коде.