我有一个NSArrayController,我在其上以编程方式应用过滤谓词:
- (void)setFilters {
NSPredicate *pred = [NSPredicate predicateWithBlock:^BOOL(LMRootItem *rootItem,
NSDictionary *bindings) {
...
return YES;
}];
[_controller setFilterPredicate:pred];
}
使用IB设置NSArrayController的内容绑定时,一切正常。
当我以编程方式设置NSArrayController的内容绑定时,我的过滤谓词函数永远不会被调用,内容永远不会被过滤:
[_controller bind:@"arrangedObjects"
toObject:_otherController
withKeyPath:@"arrangedObjects.@unionOfArrays.rootItems"
options:nil];
绑定与我在IB中的绑定相同。
有没有人知道出了什么问题?
答案 0 :(得分:0)
找到它。我似乎应该这样做:
[_controller bind:@"contentArray"
toObject:_otherController
withKeyPath:@"arrangedObjects.@unionOfArrays.rootItems"
options:nil]