2D NSDictionary с NSArray - PullRequest
       2

2D NSDictionary с NSArray

0 голосов
/ 10 ноября 2018

Набор данных, который я пытаюсь объявить, будет выглядеть примерно так:

$results[@"Key1"][@"Key2"] = @[int, int, int, int];

Как можно объявить эту комбинацию NSDictionary & NSArray?

1 Ответ

0 голосов
/ 10 ноября 2018

Итак, насколько я понимаю, вы ищете массив во вложенном словаре - поэтому массив, в словаре, в другом словаре.

Я бы сказал так:

NSMutableDictionary *firstDictionary    =   [[NSMutableDictionary alloc] init];
NSMutableDictionary *secondDictionary   =   [[NSMutableDictionary alloc] init];
NSArray             *array              =   @[@1, @2, @3, @4];

[secondDictionary   setObject:array             forKey:@"key2"];
[firstDictionary    setObject:secondDictionary  forKey:@"key1"];

Затем вы можете получить доступ к содержимому вашей структуры данных следующим образом:

NSArray *results = firstDictionary[@"key1"][@"key2"];

NSLog(@"results: %@", results);

И он выдаст:

results: (
    1,
    2,
    3,
    4
)

Надеюсь, это поможет:)

Редактировать: если вы пытаетесь создать 2-мерную матрицу, в которой для доступа к данным вы используете 2 координаты, то вам, вероятно, следует использовать вложенный массив вместо вложенного словаря.

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