【问题标题】:View based NSTableView, bind hidden property to shared user defaults基于视图的 NSTableView,将隐藏属性绑定到共享用户默认值
【发布时间】:2013-12-21 00:54:28
【问题描述】:

在我的应用程序中,我有一个基于视图的 NSTableView。其中一个单元格包含我要根据用户设置隐藏的图像。所以我将 IB 中的 Hidden 值绑定到 Shared User Defaults ControllerController Key = values模型键路径到我的设置。我在代码中的其他几个地方使用了这个设置,因此确定它存在。但令我惊讶的是,图像总是可见的,就好像我根本没有建立那种绑定一样。同样使用NSNegateBoolean 否定该值不会改变可见性。

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

如果我将 hidden 属性绑定到此单元格的 objectValue ,它也可以正常工作。所以在我看来,似乎不支持绑定到 Shared User Defaults Controller

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

【问题讨论】:

    标签: cocoa interface-builder


    【解决方案1】:

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

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

    【讨论】:

    • 没有警告或类似的东西。我还可以绑定到一个数组控制器,我也没有任何效果(因为我将表视图作为数据源委托提供)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-14
    • 1970-01-01
    • 1970-01-01
    • 2011-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多