在NSArrayController中查找特定元素

时间:2009-08-08 11:44:58

标签: cocoa nsarraycontroller

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

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

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

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

感谢任何帮助

2 个答案:

答案 0 :(得分:10)

获取arrangedObjects这是一个数组,然后对其进行迭代或使用filteredArrayUsingPredicate:

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

答案 1 :(得分:5)

如何使用内容?

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