【发布时间】:2012-08-14 04:07:24
【问题描述】:
我想以编程方式将自定义类 (MyClass) 数组绑定到数组控制器 (NSArrayController),并将其内容绑定到另一个数组 (modelArray)。 MyClass 显示数组的内容,如NSTableView。
我的问题是:如何以调用可变数组的方法的方式创建此绑定,即方法
-(void) insertObject:(id)object inContentAtIndex:(NSUInteger)index
-(void) removeObjectFromContent:(id) object
(1)如果我这样绑定,上面的方法都被调用了,但是控制器的内容不再绑定到modelArray(很明显)
[myArrayController bind:@"contentArray" toObject:myClassInstance withKeyPath:@"content" options:nil];
(2) 如果我以这些方式绑定,则只调用 setContent: 和 content 方法,而不调用可变方法。我还尝试删除这些方法(setContent: 和 content),但它只会引发异常 setValue:forUndefinedKey:
[myClassInstance bind:@"content" toObject:myArrayController withKeyPath:@"arrangedObjects" options:nil];
或
[myClassInstance bind:@"content" toObject:myArrayController withKeyPath:@"content" options:nil];
我不相信每次在绑定到数组控制器时添加一行时都会重新设置整个表的数组,我希望有相同类型的绑定。
【问题讨论】:
标签: cocoa binding key-value-observing nsarraycontroller kvc