Каков наилучший способ сохранить это в NSDictionary? - PullRequest
0 голосов
/ 07 октября 2011

Скажем, у меня есть словарь словаря, который выглядит следующим образом:

{0, {"Kansas City", TRUE}}
{1, {"Arizona", TRUE}}
{2, {"Mexico City", TRUE}}
{3, {"Arkansas", TRUE}}
{4, {"California", TRUE}}
{5, {"Illinois", TRUE}}

Как лучше хранить это?Единственная проблема, с которой я сталкиваюсь, это когда я пытаюсь получить значение TRUE, мне нужно знать ключ ... если я не знаю ключ, тогда мне придется перебирать словарь ... однако в этомcase я всегда буду повторять только для одной пары ключ-объект.

Ищу некоторые рекомендации

Ответы [ 3 ]

0 голосов
/ 07 октября 2011

Похоже, это больше массив с словарями в них. Если ваши первые значения - числа (по крайней мере, в этом примере), и вы знаете ключ (который также является числом, то, очевидно), вы можете просто [myArray objectAtIndex: i] и затем делать все, что вы хотите со словарем внутри.

// --- Editted --- //

0 голосов
/ 07 октября 2011
NSDictionary *cityDic = [NSDictionary dictionaryWithObjectsAndKeys:@"Kansas City", @"kCity", [NSNumber numberWithBool:TRUE], @"kBoolean", nil];

NSArray *arr = [NSArray arrayWithObjects:[NSNumber numberWithInt:0], cityDic, nil];

NSArray *totalArr= [NSArray arrayWithArray:arr];

NSLog(@"%@", totalArr);

2011-10-07 16: 21: 16.769 StackoverflowTest [552: f803] ( 0, { kBoolean = 1; kCity = "Канзас-Сити"; } )

вы получаете доступ к [[totalArr objectAtIndex: 1] forKey: @ "kCity or kBoolean"];

0 голосов
/ 07 октября 2011

Вы уверены, что используете словарь, а не массив?Кажется, вам нужна отсортированная коллекция (1, 2, 3 ...).Итак, я бы сохранил NSDictionary объекты (с ключом, представленным городом и логическим значением) в NSArray ... или иначе, если индекс не имеет значения, я бы использовалодин NSDictionary .

пс.чтобы получить логические значения, вы должны использовать boolValue

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...