目标c中的二维数组搜索

时间:2010-04-01 11:00:05

标签: objective-c arrays plist

我想问一个问题,我们如何在一个数组类型的plist中搜索并且还有数组类型的元素。我正在从一个字符串元素类型及其工作正常的plist中搜索,但是当它在plist中有数组元素时我无法搜索。

问候!

2 个答案:

答案 0 :(得分:1)

- (BOOL)searchArray:(NSArray *)array forObject:(id)object {
    if ([array containsObject:object]) {
        return TRUE;
    }

    for (id elem in array) {
        if ([elem isKindOfClass:[NSArray class]]) {
            if ([self searchArray:elem forObject:object]) {
                return TRUE;
            }
        }
    }
    return FALSE;
}

将处理二维数组以及任何其他深度。

答案 1 :(得分:0)

你的问题不是很清楚,但如果你正在寻找一种方法来在含有NSArrays的NSArray中找到一个包含对象的对象(NSStrings),这里有一个例子:

NSArray * l20 = [NSArray arrayWithObjects:@"One", @"Two", nil];
NSArray * l21 = [NSArray arrayWithObjects:@"Three", @"Four", nil];

NSArray * ll = [NSArray arrayWithObjects:l20, l21, nil];

for(id l1obj in ll)
    for(id l2obj in l1obj)
        if([l2obj isEqualToString:@"Three"])
            NSLog(@"Found object three");