Какао Bindings Model Key Path Division - PullRequest
0 голосов
/ 22 апреля 2011

В моем проекте у меня есть два текстовых поля, которые связаны с изменяемым словарем. Я хочу сделать третье текстовое поле, которое является первым полем, разделенным на второе. Однако, когда я пытаюсь сделать это в Путь к ключу модели на вкладке привязок в Интерфейсном Разработчике, он говорит, что это недопустимо. Как я могу заставить это работать?

1 Ответ

1 голос
/ 22 апреля 2011

Вы не можете выполнять произвольные арифметические операции или использовать произвольные выражения в ключе или ключевом пути. Ключ определяет свойство, предоставляемое объектом, а путь ключа - последовательность свойств. Хотя существуют некоторые варианты, например операторы сбора, они не применяются к вашим конкретным настройкам.

Тем не менее, вы можете попробовать:

  • Использование пользовательского класса вместо словаря и предоставление свойства, представляющего арифметическую операцию, основанную на этих двух других свойствах. В Руководстве по программированию наблюдения значения ключа есть соответствующий раздел.

  • Использование специального преобразователя значения , который преобразует словарь в результат арифметической операции.

  • Использование категории в NSDictionary для раскрытия свойства, представляющего арифметическую операцию. Лично я считаю, что это излишне и не очень рекомендую.

  • Не использовать привязки вообще и выполнять арифметические операции непосредственно в делегате приложения, контроллере окна или контроллере представления.

...