NSTextField的绑定启用属性是否存在setter?

时间:2011-03-09 16:13:42

标签: objective-c cocoa cocoa-bindings

我正在编写一个用于编辑对象的工作表,该类可以是实现协议“Server”的任何类。 URL的setter方法是可选的,因为某些类型的端点(如Amazon S3)具有固定的URL。

我想知道的是:是否可以将NSTextField的“Enabled”属性绑定到这些方法的存在?或者我是否还需要实现一个BOOL方法来返回该类是否支持编辑URL?

非常感谢任何建议!
比利

1 个答案:

答案 0 :(得分:1)

Cocoa绑定依赖于键值编码和键值观察。要绑定NSTextField的“Enabled”属性,您需要绑定到符合KVC的属性:http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/KeyValueCoding/Concepts/Compliant.html

这意味着您需要为服务器类实现canEditURL属性。

您可以在基类中实现它,如下所示:

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