gpt4 book ai didi

objective-c - 如何从收集结束而不是开始在Objective-C中实现for-in循环?

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

我试图通过for循环迭代NSDictionary。但是我希望它从此集合的末尾开始迭代。如何实现此还原?

最佳答案

嗯...问题是NSDictionary本质上是无序的。

因此,可能的解决方案是使用键创建NSArray,使用“reverseObjectEnumerator”反转该数组,然后在该数组上循环并在字典上使用键。

像这样:

NSDictionary *_dict = [NSDictionary dictionaryWithObjectsAndKeys:
@"firstValue",@"firstKey",
@"secondValue",@"secondKey",
@"thirdValue",@"thirdKey",
nil];

NSArray *keysNormal = [_dict allKeys];
NSArray *keysReversed = [[[_dict allKeys] reverseObjectEnumerator] allObjects];

for(NSString *str in keysNormal)
{
NSLog(@"%@", [_dict objectForKey:str]);
}

for(NSString *str in keysReversed)
{
NSLog(@"%@", [_dict objectForKey:str]);
}

日志是:
  • thirdValue
  • secondValue
  • firstValue
  • firstValue
  • secondValue
  • thirdValue
  • 关于objective-c - 如何从收集结束而不是开始在Objective-C中实现for-in循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13650044/

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