ios - NSMutableArray objectAtIndex

标签 ios objective-c

我有 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/

相关文章:

ios - Obj-C 中的委托(delegate)方法签名,了解它们的 C# 等价物是什么

ios - 为什么我的 Tab Bar 没有出现在模拟器中?

ios - 在 objective-c 中的方法之间传递值

ios - 如何解决错误 : NSURLConnectionInternalConnection _withConnectionDisconnectFromConnection

iphone - 将第一响应者从 uiscrollview 更改为 uitableview mid-touch iOS iphone

ios - 如何检查 CLLocationCoordinate2D 是否在四个 CLLocationCoordinate2D 正方形内?在带有谷歌地图的 Objective C 中

objective-c - 在不是主运行循环的 NSRunLoop 上安排 NSStream 事件

objective-c - UITableView 和自定义单元格

javascript - iOS 上的 Safari 在滚动停止后仅显示固定元素

ios - AVFoundation - 反转 AVAsset 并输出视频文件