我发现当使用NSDictionary为AFNetworking POST请求创建参数时,行为是不一致的。我有多个POST,其中params以与我在NSDictionary中创建它们相同的顺序到达服务器,现在创建一个新请求,它们以不同的顺序到达服务器。
这就是我发送它们的方式:
NSDictionary *params = @{@"username": @"testuser", @"count": @"6"};
但这就是它到达服务器的方式:
{"count":"6","username":"testuser"}
对我来说很重要的是它到达服务器时与离开我的应用程序时完全相同,因为我将完整性值散列在一起,无法验证它是否以不同的顺序到达它的离开状态。
我知道NSDictionary本质上不会保留订单,无论如何使用NSDictionary或其他方式我可以保证订单?
提前致谢
答案 0 :(得分:1)
您必须使用有序字典类。不幸的是,基金会框架中没有一个,但创建(甚至下载)自己的框架相当容易。这个article描述了如何在Objective-C中创建有序字典类,并包含源代码。