通过Interface Builder的绑定模型密钥路径发送正常消息是否可以?
我想只在我的应用程序的主窗口可见时启用一些菜单项。我只是尝试以下方法来看看会发生什么:
在菜单项的绑定检查器中,我将可用性启用绑定到AppDelegate
,并将模型关键路径设置为self.window.isVisible
。
这似乎运作良好,但它是否意味着像这样使用?在AppStore中合法吗?
我的模型关键路径旁边会出现一个小感叹号。
答案 0 :(得分:1)
如果模型属性(isVisible
)符合KVO(键值观察),则此绑定是合法的,因为绑定是使用KVO实现的。
(更新)NSWindow
has several documented binding keys,包括密钥visible
。由于标准KVC搜索模式会为密钥isVisible
寻找visible
,因此您可能始终可以使用。但是,你最好只绑定到visible
,因为这已经记录了。
重要的一课是,您应该只绑定为Cocoa绑定记录的密钥,或者记录为符合KVO标准的密钥。
感叹号是Xcode的警告方式,它不知道绑定是否合法。您可以将鼠标指针悬停在工具提示上: