我有索引0上的对象的NSMutableArray“Tag”:索引1上的“data”,“data1”,“data2”:索引2上的“data3”:“data2”...... 我的selected_tag是“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上。我的问题是我在索引0的第三位有“data2”。
答案 0 :(得分:1)
如何获得索引0和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);
答案 1 :(得分:0)
那个指数
9223372036854775807
可能等同于NSNotFound
,这意味着标记不在数组中。