是否可以在NSPopupButton上设置默认选择?我有一个允许用户选择他们想要设置的服务器类型,但由于NSPopupButton总是显示第一个项目,如果这是他们想要的类型,他们可能会忽略它。但是,即使正在显示该项,调用-selectedItem也会返回(null)。如果用户首先从菜单中选择一个项目,一切正常。
Button的content和contentValues绑定到同一个Array Controller,而Array Controller又绑定到NSDictionary的keys属性。我已经尝试将selectedIndex绑定到控制器中的变量并在代码中更新它,但它没有任何效果。 (我可能只是绑定它错了...)如何默认选择第一项?
提前致谢!
SphereCat1
答案 0 :(得分:1)
使用Bindings时,您不需要也不应该直接从视图中获取任何模型信息 - 模型本身和选择状态。与拥有该模型的控制器和所选索引对话。
请注意,“index”对NSDictionary没有任何意义,keys
不是NSDictionary的属性。 (事实上,如果你得到一个例外,我不会感到惊讶,因为你的字典中没有关键字“键”的对象。)这是一种方法,而不是访问者类型,所以当你可以使用键值编码向字典询问该方法的值,你不应该。
你应该做的是使model objects代表服务器类型,并保存这些类型的数组,并将数组控制器的内容绑定到值为该数组的属性。将弹出按钮的contentValues
绑定到模型对象的name属性,该属性应包含每种服务器类型的本地化名称。