2011-06-28 142 views
0

我有一个NSMutableArray的具有下列对象:NSMutableArray的快速搜索????/

@interface MyViewCell : UITableViewCell { 

    NSUInteger id; 
    ..... 
    } 

在一些方法,我需要与预定义的ID的小区快速搜索。如何最好的做到这一点?

回答

9

可能最简单的方法是使用- (NSUInteger)indexOfObjectPassingTest:(BOOL (^)(id obj, NSUInteger idx, BOOL *stop))predicate。请参阅文档here

int index = [myArray indexOfObjectPassingTest: ^(id obj, NSUInteger idx, BOOL *stop) { 
    MyViewCell *cell = (MyViewCell *)obj; 
    BOOL result = (cell.id == someValue); 
    stop = &result; 
    return result; 
}]; 
+0

谢谢。我怎样才能找到MyViewCell?据我所知它只是搜索预定义的ID。 –

+0

'[myArray objectAtIndex:index]' – highlycaffeinated

1

当我尝试代码时,遇到了一个小问题。下一个调整代码适合我(* stop):

int index = [myArray indexOfObjectPassingTest: ^(id obj, NSUInteger idx, BOOL *stop) { 
    MyViewCell *cell = (MyViewCell *)obj; 
    BOOL result = (cell.id == someValue); 
    *stop = result; 
    return result; 
}]; 
+0

是的,这是一个小错误:) –