ios - NSDictionary 作为参数的不一致行为

标签 ios objective-c nsdictionary afnetworking afnetworking-2

我发现,当使用 NSDictionary 为 AFNetworking POST 请求创建参数时,行为不一致。我有多个 POST,其中参数到达服务器的顺序与我在 NSDictionary 中创建它们的顺序相同,现在创建一个新请求,它们以不同的顺序到达服务器。

这就是我发送它们的方式:

NSDictionary *params = @{@"username": @"testuser", @"count": @"6"};

但这就是它到达服务器的方式:

{"count":"6","username":"testuser"}

对我来说很重要的是,它到达服务器时与离开我的应用程序完全相同,因为我将值散列在一起以确保完整性,并且无法验证它到达的顺序是否与其离开的顺序不同。

我知道 NSDictionary 本质上不会保持顺序,是否有使用 NSDictionary 或其他方式可以保证顺序?

提前致谢

最佳答案

您必须使用有序字典类。不幸的是,Foundation 框架中没有,但是创建(甚至下载)您自己的框架相当容易。这article描述了如何在 Objective-C 中创建有序字典类,并包含源代码。

关于ios - NSDictionary 作为参数的不一致行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28679382/

相关文章:

ios - 已终止的应用程序无法通过 iBeacon 数据包唤醒

objective-c - @ 符号对 Objective-C 意味着什么?

iphone - NSURLConnection 和图片下载问题

ios - 从转换后的 UIImageView 裁剪 UIImage

ios - 如何通过 Swift 3 在字典中获取具有单个值的不同键

cocoa - 如何在 Cocoa 中访问大型 NSDictionary 的特定子集?

ios - 在批量购买计划下分发教育 IOS 应用程序是否需要更改捆绑标识符

ios - 上传到 App Store 时不支持的架构

iOS VideoPreview 横向颠倒

ios - iPhone - 复制字典的可变数组