Иногда использование слишком большого количества вложенных выражений может скрыть то, что происходит на самом деле.Например, «простой» изменяемый массив, который вы создали, на самом деле содержит вложенный изменяемый массив, а не содержит словари, которые вы пытаетесь отсортировать.
Вместо этого:
cumArray = [NSMutableArray arrayWithObjects:[NSMutableArray arrayWithObjects:
[NSDictionary dictionaryWithObject:[NSString stringWithFormat:@"%i", dayCounter] forKey:@"dayCounter"],[[dailyArray objectAtIndex:x]objectAtIndex:0],[[dailyArray objectAtIndex:x]objectAtIndex:1],[[dailyArray objectAtIndex:x]objectAtIndex:2], nil],nil];
попробуйте сделать это
NSDictionary *dict1 = [NSDictionary dictionaryWithObject:[NSString stringWithFormat:@"%i", dayCounter]
forKey:@"dayCounter"]
NSArray *objs = [dailyArray objectAtIndex:x];
NSDictionary *dict2 = [objs objectAtIndex:0];
NSDictionary *dict3 = [objs objectAtIndex:1];
NSDictionary *dict4 = [objs objectAtIndex:2];
// Note: You might want to temporarily log the values of dict2 - 4 here to make sure they're
// really dictionaries, and that they all actually contain the key 'dayCounter'.
cumArray = [NSMutableArray arrayWithObjects:dict1, dict2, dict3, dict4, nil];
Предполагая, что у вас действительно есть изменяемый массив словарей, каждый из которых содержит ключ dayCounter
, дескриптор сортировки, который вы показали в своем примере, должен работать очень хорошо.