gpt4 book ai didi

ios - 使用快速枚举和 NSDictionary,不能保证按键的顺序迭代——我怎样才能让它按顺序排列?

转载 作者:技术小花猫 更新时间:2023-10-29 10:19:26 26 4
gpt4 key购买 nike

我正在与一个 API 通信,该 API 发回一个 NSDictionary 作为对我的应用程序需要的数据的响应(数据基本上是一个提要)。此数据按最新到最旧排序,最新的项目位于 NSDictionary 的前面。

当我使用 for (NSString *key in articles) { ... } 快速枚举它们时,顺序似乎是随机的,因此我对它们进行操作的顺序与从最新到最旧,就像我希望的那样,但完全随机。

我已经阅读过,当使用 NSDictionary 进行快速枚举时,不能保证按顺序遍历数组。

但是,我需要它。我如何让它按照 NSDictionary 所在的顺序遍历 NSDictionary?

最佳答案

一种方法是获取可变数组中的所有键:

NSMutableArray *allKeys = [[dictionary allKeys] mutableCopy];

然后根据需要对数组进行排序:

[allKeys sortUsingComparator: ....,]; //or another sorting method

然后您可以遍历数组(我认为这里使用快速枚举可以保持顺序),并获取当前键的字典值:

for (NSString *key in allKeys) {
id object = [dictionary objectForKey: key];
//do your thing with the object
}

关于ios - 使用快速枚举和 NSDictionary,不能保证按键的顺序迭代——我怎样才能让它按顺序排列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17960068/

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