Привязать ли свойство NSTextField к существованию сеттера? - PullRequest
0 голосов
/ 09 марта 2011

Я работаю над листом, предназначенным для редактирования объекта, классом которого может быть все, что реализует протокол «Сервер».Методы установки для URL являются необязательными, поскольку некоторые типы конечных точек, например Amazon S3, имеют фиксированный URL.

Что мне интересно, так это: возможно ли привязать свойство «Enabled» NSTextFieldна существование этих методов?Или я должен также реализовать метод BOOL, который возвращает информацию о том, поддерживает ли класс редактирование URL-адреса?

Любой совет очень важен!
Билли

1 Ответ

1 голос
/ 09 марта 2011

Привязки какао основаны на кодировании значения ключа и наблюдении значения ключа. Чтобы связать свойство «Enabled» NSTextField, необходимо связать со свойством, совместимым с KVC: http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/KeyValueCoding/Concepts/Compliant.html

Это означает, что вам нужно реализовать свойство canEditURL для классов вашего сервера.

Вы можете реализовать его в базовом классе следующим образом:

- (BOOL)canEditURL {
      return [self respondsToSelector:@selector(urlSetterNameHere:)];
}
...