假设我有一个带有 2 个组合框的窗口。控制窗口的NSWindowController
,有两个可变数组绑定到组合框内容值。
我想要的是,虽然第一个组合框具有固定值,但第二个组合值取决于第一个组合选择值。
当关联的可变数组更新时,我应该怎么做才能让第二个组合框重新加载其内容(或者我应该如何更新数组以实现这一点?)?
假设我有一个带有 2 个组合框的窗口。控制窗口的NSWindowController
,有两个可变数组绑定到组合框内容值。
我想要的是,虽然第一个组合框具有固定值,但第二个组合值取决于第一个组合选择值。
当关联的可变数组更新时,我应该怎么做才能让第二个组合框重新加载其内容(或者我应该如何更新数组以实现这一点?)?
如果您通过其普通访问器方法设置第二个数组的值,则应将正确的更新消息传播到所有绑定值和其他侦听器。
// When first combo box changes value
// NSArray *newArray = // Fancy algorithm..
self.secondArray = newArray;
这应该让第二个组合框更新。
如果您不想更改NSMutableArray
支持您的属性的实例,您可以使用可变访问器方法,在此处讨论。它们将允许您在不更改数组本身的情况下更改可变数组的内容。KVC/KVO 系统会将更改传播给侦听器。