从 NSMutableArray 比较并获取索引

Posted

技术标签:

【中文标题】从 NSMutableArray 比较并获取索引【英文标题】:Compare and get the Index from NSMutableArray 【发布时间】:2013-01-24 05:55:38 【问题描述】:

我有一个数组,它是数组的集合。 说 ( (1, x, y, a), (2, m, n, o), (3, s, t, u, v, w) )

如果要获取m的索引,如何获取?

可以使用 NSMutableArray contains:(id) 来完成吗?

【问题讨论】:

【参考方案1】:

检查此代码:

int arrayPos = 0;
for (NSArray *tempArray in collectionArray)

  if(tempArray containsObject:@"m")
  
     int indexOfWord = [tempArray indexOfObject:@"m"];
     NSlog(@"Array pos: %d Index is : %d",pos, indexOfWord);
  
  pos++;

在 for 循环中,您可以获取添加到集合数组中的每个数组。之后,您将检查数组中是否存在该单词。如果它存在,您正在显示它。 还打印数组的位置。

元素位于:

NSString *str = [[collectionArrayObjectAtIndex:pos] objectAtIndex:indexOfWord];

【讨论】:

【参考方案2】:
NSArray *arrWithArr;
NSArray *arrWithM;
NSInteger arrIndex;
for (int i = 0; i< [arrWithArr count]; i++) 
    if ([[arrWithArr objectAtIndex:i] containsObject:@"m"]) 
        arrIndex = i; break;
    

NSInteger mIndex = [[arrWithArr objectAtIndex:arrIndex]indexOfObject:@"m"];

【讨论】:

完美,可以得到数组索引和元素索引。谢谢【参考方案3】:

您所说的函数“[NSMutableArray contains:]”会告诉您对象“B”是否存在于 A,B,C 的数组中。

您真正需要做的是提供第二个函数,该函数通过您的父数组进行快速枚举,然后在子数组上执行“contains”。如果找到“m”,则返回“YES”以及该条目在父数组中的索引。

【讨论】:

是的,我确实是这样写的,我得到了下面的答案。真的谢谢。

以上是关于从 NSMutableArray 比较并获取索引的主要内容,如果未能解决你的问题,请参考以下文章

通过 AFNetworking 在指定索引处将 UIImage 添加到 NSMutableArray

Xcode 8.3 和 Swift 3:在 UICollectionView 中的单元格中显示图像,从 URL 获取并存储在 NSMutableArray

从 URL 将对象添加到 NSMutableArray 的更快方法

iCarousel 从 NSMutableArray 加载 UIViews

比较 NSMutableArray 元素以从列表中查找第二大元素

如何在最后一个索引Swift中添加元素