gpt4 book ai didi

objective-c - 停止 NSDictionary 对其项目进行排序

转载 作者:太空狗 更新时间:2023-10-30 03:50:10 26 4
gpt4 key购买 nike

我有这个代码

NSDictionary *tempDict = [NSDictionary dictionaryWithObjects:
[NSArray arrayWithObjects:@"authorId","authorName","authorDescription",@"image",nil] forKeys:
[NSArray arrayWithObjects:@"id",@"name",@"desc",@"image",nil]];
NSLog(@"%@",[tempDict description]);

输出是

desc = authorDescription;

id = authorId;

image = image;

name = authorName;

出于某种原因,您会看到字典按字母顺序按键排序。这对我不利,因为我需要将这个字典添加到一个 plist,而这个 plist 已经有一些带有未排序键的字典。那么如何避免这种排序呢?

最佳答案

排序是由于[NSDictionary description],它被NSLog使用。这不是 NSDictionary 的基本功能。如果您通过快速枚举或 [dictionary allKeys] 访问键,您将不会发现它已排序。

但是对于您的基本问题,如果您想要的是“未排序”(随机),那么“已排序”只是可能的随机序列之一。如果您真的想要未排序,那么排序应该无关紧要,因为它是一个子集。

如果排序很重要,那么您指的不是“未排序”,而是“一些其他排序顺序,例如插入顺序”。如果您需要以某种方式对 NSDictionary 进行排序,则需要通过将其转换为 NSArray 来实现这一点。

关于objective-c - 停止 NSDictionary 对其项目进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9797621/

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