Создание JSONRepresentation моего NSDictionary испортит порядок? - PullRequest
0 голосов
/ 03 января 2011

Чтобы передать данные в мой веб-сервис, я создаю NSDictionary с нужными мне объектами и ключами и использую JSONRepresentation для удобного форматирования, чтобы я мог опубликовать их в своем сервисе.

Все отлично работало с предыдущей версией, где требовалось только 2 параметра. Массив со списочными элементами и UDID.

Нет. Мне также нужно передать номер версии, потому что нам нужно предоставить больше данных людям с приложением в этой новой версии.

Единственная проблема заключается в том, что когда я создаю свое представление JSONRepretation, порядок вещей все испорчен.

NSMutableDictionary *rowDict = [[NSMutableDictionary alloc] initWithObjectsAndKeys:arrayDict,@"basketListV2",sharedData.udid,@"UDID",@"1.4",@"version",nil];

Сначала распечатывается версия, затем UDID, а затем basketListV2.

Кто-нибудь знает, что я могу сделать, чтобы поддерживать порядок моего NSDict? Я попробовал как NSDictionary, так и NSMutableDictionary (Возможно, не нужно ничего с этим делать, но для целей тестирования мне пришлось попробовать.)

Заранее спасибо.

Lewion

1 Ответ

1 голос
/ 03 января 2011

Порядок NSDictionary не определен, если ключи не являются строками (см. http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSDictionary_Class/Reference/Reference.html)

В любом случае, порядок не имеет большого смысла для словаря. Поэтому вы не должны быть заняты им даже вуровень представления JSON.

Если вам действительно нужно упорядочить эти вещи (и убедиться, что они будут оставаться упорядоченными при изменении версии), используйте NSArrays, которые являются интерфейсом упорядоченных коллекций объектов (см. http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSArray_Class/NSArray.html)

Приветствия,

-стан

...