在NSArrayController中查找特定元素

Mad*_*ann 6 cocoa nsarraycontroller

我有一个包含一些元素的NSArrayController.这些元素有一些属性,如"名称","信息"等.

我想要的只是在NSArrayController中找到一个名称属性设置为的元素,比方说,'Mads'.

由于效率不是一个很大的问题,我只需要通过迭代NSArrayController中的所有元素进行线性搜索,同时检查'name'属性是否为'Mads'.

但我似乎无法从NSArrayController获得NSIterator,所以我想知道是否还有另一种方法可以做到这一点?

任何帮助表示赞赏

Pet*_*sey 10

获取arrangedObjects,这是一个数组,并迭代或使用filteredArrayUsingPredicate:.

这是假设设置filterPredicate数组控制器不合适.如果你这样做,那么arrangedObjects将只包含匹配的对象.


epa*_*tel 5

使用内容怎么样?

// ac is an NSArrayController*
for (MyObject *mob in ac.content) {
    if ([mob.name isEqualToString:@"something"]) {
        // found
        break;
    }
}
Run Code Online (Sandbox Code Playgroud)