我有一个带有以下对象的NSMutableArray:
@interface MyViewCell : UITableViewCell {
NSUInteger id;
.....
}
在某些方法中,我需要快速搜索具有预定义ID的单元格。怎么做到最好?
答案 0 :(得分: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;
}];
答案 1 :(得分:1)
当我尝试代码时,遇到了一个小问题。下一个调整代码对我来说很好( *停止):
int index = [myArray indexOfObjectPassingTest: ^(id obj, NSUInteger idx, BOOL *stop) {
MyViewCell *cell = (MyViewCell *)obj;
BOOL result = (cell.id == someValue);
*stop = result;
return result;
}];