我有 NSMutableArray “Tag”,其对象位于索引 0 上:“data”、“data1”、“data2”,索引 1:“data3”,索引 2:“data2” ... 我选择的标签是“data2”。如何获取索引 0 和 2。我使用 Tableview 在单元格中显示我的结果。 NSLog 显示索引 9223372036854775807
NSUInteger index = [Tag indexOfObject:chosen_tag];
我的手机:
UILabel * cellLabel = (UILabel *)[cell viewWithTag:2];
[cellLabel setText:[Name objectAtIndex:index]];
如果我 NSLog 我的 NSMutableArray 标记,它会显示 ( "data, data1, data2", "data3", "data2, data3, data4, data5, data6", "")
这意味着 data2 位于索引 0 和索引 2 上。我的问题是“data2”位于索引 0 上的第三位。
最佳答案
How to get index 0 and 2 ?
您可以使用方法 indexesOfObjectsPassingTest
它返回一个 NSIndexSet
对象:
NSArray *tag = @[@"data, data1, data2", @"data3", @"data2, data3, data4, data5, data6", @""];
NSIndexSet *indexSet = [tag indexesOfObjectsPassingTest:^BOOL(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
return [[(NSString *)obj componentsSeparatedByString:@", "] containsObject:@"data2"];
}];
NSLog(@"%@", indexSet);
关于ios - NSMutableArray objectAtIndex,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38248495/