Структура данных, позволяющая добавлять несколько объектов для одного и того же ключа

Я ищу структуру данных, которая позволяет мне добавлять несколько объектов для одного и того же ключа.

У меня есть таблица, которая загружает изображения, и когда она заканчивает загрузку изображения, я хочу, чтобы она установила изображение во всех ячейках с этим именем изображения.

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


person KexAri    schedule 17.04.2015    source источник


Ответы (3)


Просто создайте NSDictionary, содержащий NSMutableArray:

NSDictionary *myDico = @{@"imageName":[NSArray arrayWithObjects:...]};

Где ... = ссылки на ячейки.

Изменить :

Вы также можете, если у вас есть несколько изображений, использовать NSMutableDictionary.

person David 'mArm' Ansermot    schedule 17.04.2015
comment
Спасибо. Есть ли способ скопировать один массив в новый массив и добавить в него новый объект? - person KexAri; 17.04.2015
comment
NSMutableArray *newArray = [[oldArray mutableCopy] addObject:newObject]; - person David 'mArm' Ansermot; 17.04.2015
comment
Спасибо! Я попробую. - person KexAri; 17.04.2015

Как насчет использования NSMutableDictionary, значением которого является NSMutableArray? Вы можете добавить массив при добавлении новых ячеек или проверить nil и добавить пустой массив, если ключ не был сохранен ранее.

person user3349433    schedule 17.04.2015

Просто используйте NSArray для добавления нескольких значений к одному ключу.

NSDictionary *dictt = @{@"imageKey":@[@"image1", @"image2"]};
person Imran Ali    schedule 17.04.2015