1

是否可以在 NSPopupButton 上设置默认选择?我有一个允许用户选择他们想要设置的服务器类型,但由于 NSPopupButton 总是显示第一项,如果这是他们想要的类型,他们可能会忽略它。但是,即使正在显示该项目,调用 -selectedItem 也会返回 (null)。如果用户先从菜单中选择一个项目,一切都会正常工作。

Button 的 content 和 contentValues 绑定到同一个 Array Controller,而后者又绑定到 NSDictionary 的 keys 属性。我尝试将 selectedIndex 绑定到控制器中的变量并在代码中更新它,但它没有效果。(我可能只是绑定错了......)如何默认选择第一项?

提前致谢!
球猫1

4

1 回答 1

1

使用绑定时,您不需要也不应该直接从视图中获取任何模型信息——无论是模型本身还是选择状态。与拥有模型和选定索引的控制器交谈。

请注意,“索引”对于 NSDictionary 没有任何意义,keys也不是 NSDictionary 的属性。(事实上​​,如果你得到一个异常,我不会感到惊讶,因为你的字典中没有键“keys”的对象。)它是一种方法,而不是访问器类型,所以虽然你可以问使用键值编码的方法的值的字典,你不应该。

您应该做的是制作代表服务器类型的模型对象,并保存一个数组,并将数组控制器的内容绑定到其值为该数组的属性。将弹出按钮绑定contentValues到模型对象的名称属性,该属性应包含每种服务器类型的本地化名称。

于 2010-06-04T12:27:14.310 回答