如何从多个选项卡视图创建对共享用户默认值控制器的绑定

时间:2015-09-24 12:46:23

标签: swift cocoa tabs preferences

在我的应用程序中,我有一个标签视图来显示和管理首选项。我想使用共享用户默认值控制器存储它们。所以,我通过界面构建​​器创建了适当的绑定...不幸的是,我在第一个选项卡中创建的绑定工作,而我在其他选项卡中创建的绑定不是。控制台没有显示任何错误消息,所以我不知道问题出在哪里。有人可以帮我理解我做错了吗?

如果这有帮助,我可以看到共享用户默认值控制器被有效地放置在第一个选项卡视图场景中。我尝试将其移动到选项卡式视图(显示各种标签栏项目的视图),但如果我这样做,即使在第一个选项卡中绑定也不起作用...那么如何通过共享用户默认值控制器存储值所有标签视图?

1 个答案:

答案 0 :(得分:0)

我不能说这是一个错误还是预期的行为。我找到了一种方法来访问NSTabView的多个选项卡中的共享用户默认值;这对我有用:

在NSTabViewController子类中添加:

MenuItem mi1 = new MenuItem("Menu item 1");
mi1.setOnAction((ActionEvent event) -> {
    System.out.println("Menu item 1");
    Object item = table.getSelectionModel().getSelectedItem();
    System.out.println("Selected item: " + item);
});

ContextMenu menu = new ContextMenu();
menu.getItems().add(mi1);
table.setContextMenu(menu);

然后在IB中的绑定中,选择您所在的选项卡作为“绑定到”并将“模型键路径”设置为representObject.your_default_key。如果需要,请适当设置“值变换器”。