У меня есть словарь, который содержит эти данные:Как изменить этот NSMutableArray?
(
contact={name="Lion",id="1",photo="simba.png",address="elm street"},
{name="Cat",id="2",photo="halleberry.png",address="attic"},
{name="Bat",id="3",photo="dracule.jpg",address="long way home baby"}
)
От этого NSDictionary, я захватить только имя и сортируют его по алфавиту. Как это:
(B={"Bat"}, C={"Cat"}, L={"Lion"})
Это код, который я использовал:
NSMutableDictionary* sortedDict = [NSMutableDictionary dictionary];
for (NSDictionary* animal in dataDict[@"user"]){
NSString* name = animal[@"name"];
if (![name length])
continue;
NSRange range = [name rangeOfComposedCharacterSequenceAtIndex:0];
NSString* key = [[name substringWithRange:range] uppercaseString];
NSMutableArray* list = sortedDict[key];
if (!list){
list = [NSMutableArray array];
[sortedDict setObject:list forKey:key];
}
[list addObject:name];
Тогда, что я хочу спросить. Мне нужно создать массив фотографий, но отсортированный в алфавитном порядке на основе имени. Я имею в виду что-то вроде этого:
(B="dracule.jpg", C="halleberry.png"...etc)
Я также слышал, что это будет более эффективно использовать (B={name="Bat", photo="draggle.jpg"})
, но не знаю, как я могу сделать что-то вроде этого и не знаю, как назвать это отдельно. Пожалуйста, мне нужна ваша помощь: "(
Я не понимаю, данные вы представляете.. Он начинается с '(', который подразумевает массив, и все же имеет ключ 'contact' со значением словаря, но затем есть больше словарей, следующих за ним. Пожалуйста, опишите ваши данные лучше. – trojanfoe
Извините, возможно, я ошибся потому что я его не копирую и вставляю, но оба являются NSDictionary – Edward
Итак, где ключи для 2-го и 3-го элементов верхнего уровня электронный словарь? – trojanfoe