我发现,当使用 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/