gpt4 book ai didi

ios - 在遍历NSArray时获取对象的特定实例的索引。 (重复将其弄乱了)

转载 作者:行者123 更新时间:2023-12-01 18:58:24 30 4
gpt4 key购买 nike

我终于将确切的问题定位到了我遇到的一个问题,但是我不确定如何解决它。这是正在发生的事情的基本要点:我有一个名为wordArray的数组,并且正在对其进行迭代。此数组可以包含彼此相同且彼此不同的字符串。我要做的就是检索当前正在迭代的特定实例的索引,因此简化版本是这样的:

for(NSString* stringInWordArray in wordArray){
NSLog(@"String is: %@ Index is: %d",stringInWordArray,[wordArray indexOfObject:stringInWordArray]);
}

显然,这将打印出String和字符串的索引,但是,根据Apple文档,indexOfObject方法“返回其对应数组值等于给定对象的最低索引”。这对我来说是个问题,因为如果我有一个看起来像这样的数组:
["fruit","fruit","panda","happy",nil];

然后将打印:
String is fruit Index is 0
String is fruit Index is 0
String is panda Index is 2
String is happy Index is 3

我希望索引打印0、1、2、3。此问题有任何解决方法吗?

最佳答案

使用“正常”循环:

for (NSUInteger i = 0; i < wordArray.count; i++) {
NSString *stringInWordArray = wordArray[i];
NSLog(@"String is: %@ Index is: %u",stringInWordArray, i);
}

或者您可以执行以下操作:
NSUInteger i = 0;
for(NSString* stringInWordArray in wordArray) {
NSLog(@"String is: %@ Index is: %u",stringInWordArray, i);
i++;
}

或者您可以执行以下操作:
[wordArray enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
NSString *stringInWordArray = obj;
NSLog(@"String is: %@ Index is: %u",stringInWordArray, idx);
}];

关于ios - 在遍历NSArray时获取对象的特定实例的索引。 (重复将其弄乱了),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24855137/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com