过滤谓词未在 NSArrayController 上调用

Filter Predicate not called on NSArrayController

我有一个 NSArrayController,我以编程方式在其上应用过滤器谓词:

- (void)setFilters {

    NSPredicate *pred = [NSPredicate predicateWithBlock:^BOOL(LMRootItem *rootItem, 
                    NSDictionary *bindings) {

        ...
        return YES;

    }];

    [_controller setFilterPredicate:pred];
}

当使用 IB 设置 NSArrayController 的 content 绑定时,一切正常。

当我以编程方式设置 NSArrayController 的内容绑定时,我的过滤谓词函数永远不会被调用,内容也永远不会被过滤:

[_controller bind:@"arrangedObjects" 
         toObject:_otherController    
      withKeyPath:@"arrangedObjects.@unionOfArrays.rootItems" 
          options:nil];

绑定与我在 IB 中所做的相同。

有谁知道出了什么问题吗?

找到了。看来我应该这样做:

[_controller bind:@"contentArray" 
         toObject:_otherController      
      withKeyPath:@"arrangedObjects.@unionOfArrays.rootItems" 
         options:nil]