gpt4 book ai didi

ios - 使用for循环从NSArray获取值

转载 作者:行者123 更新时间:2023-12-01 17:56:33 25 4
gpt4 key购买 nike

我做了一个NSStrings数组,它结合了我从另一个原始NSArray获得的NSDictionary的两个元素,我这样做是为了在UITableView中显示/排序。

然后使用原始的NSArray,当用户触摸一个单元格并启动didSelectCellAtIndexPath函数时,我想将cell.textLabel.text与修改后的NSArray中的NSString进行比较,然后使用数组计数器我要分配原始的NSDictionary数组到singleEntryArray。

我已经尝试过自己,但是一直返回NSDictionary,但我不确定为什么会失败。

for (int i=0; [[modifiedArray objectAtIndex:i] isEqualToString:cell.textLabel.text]; i++) {
singleEntryArray = [originalArray objectAtIndex:i];
}

任何帮助将不胜感激。

最佳答案

for中的谓词必须为true才能继续。例如,通常:

   for (i = 0; i < 10; i++) ...

在您的情况下,您可能在第一次迭代中没有得到true,因此未分配singleEntryArray。

尝试这样:
  int i = 0;
for (NSString *obj in modifiedArray)
if ([obj isEqualToString: cell.textLabel.text])
break;
else
i++;
/* Value of 'i' is index into array. Caution if not found! */
singleEntryArray = [originalArray objectAtIndex: i];

[编辑]正如@chuck指出的。上面更方便地表示为
int i = [modifiedArray indexOfObject: cell.textLabel.text];
singleEntryArray = (i == NSNotFound ? NULL : [originalArray objectAtIndex: i]);

关于ios - 使用for循环从NSArray获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16309395/

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