基于视图的NSTableView,将隐藏属性绑定到共享用户默认值

时间:2013-12-20 14:35:20

标签: cocoa interface-builder

在我的应用程序中,我有一个基于视图的NSTableView。其中一个单元格包含我想要根据用户设置隐藏的图像。所以我将IB中的隐藏值绑定到共享用户默认控制器,其中 Controller Key = 模型关键路径到我的设置。我在我的代码中的其他几个地方使用此设置,因此我确定它存在。但令我惊讶的是,图像总是可见的,好像我根本没有建立这种结合。使用NSNegateBoolean否定值也不会改变可见性。

为了确保它不是产生问题的实际用户设置,我尝试了另一个设置,我也绑定了一个菜单项(它工作的地方)。仍然,同样的结果。我可以在菜单中使用正确的结果切换该设置,但不影响我的图像。

如果我将隐藏属性绑定到此单元格的 objectValue ,它也可以正常工作。所以对我来说,看起来好像不支持绑定到共享用户默认控制器

这是真的,我该如何以不同的方式实现它呢?

1 个答案:

答案 0 :(得分:1)

基于视图的NSTableView中使用的视图内的绑定仅适用于 objectValue (以及应用程序或应用程序委托对象IIRC)。检查运行日志,它通常会打印一条警告,表示它将丢弃此连接。我认为奇怪的是它不允许绑定到app范围的共享对象,但它就是它。

我知道的唯一解决方法是在其中一个有效对象中实现对默认值的支持。