我正在编写一个用于编辑对象的工作表,该类可以是实现协议“Server”的任何类。 URL的setter方法是可选的,因为某些类型的端点(如Amazon S3)具有固定的URL。
我想知道的是:是否可以将NSTextField的“Enabled”属性绑定到这些方法的存在?或者我是否还需要实现一个BOOL方法来返回该类是否支持编辑URL?
非常感谢任何建议!
比利
答案 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:)];
}