sortedArrayUsingDescriptors: не сортирует массив, в который он был отправлен.Возвращает новый массив с отсортированными объектами.Это должно работать с:
NSArray *sortedArray = [array_new sortedArrayUsingDescriptors:sortDescriptors];
[self.fetchedObjects addObjectsFromArray:sortedArray];
Вам не нужно делать сортировку отдельно, как это, хотя.Вы можете передать дескрипторы sort в ваш запрос на выборку, и массив, возвращенный после его выполнения, будет отсортирован.Я настоятельно рекомендую делать это таким образом, а не как вы это делаете.Таким образом, вы можете заменить все перед циклом for:
SongRequestAppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
NSManagedObjectContext *context1 = [appDelegate managedObjectContext];
NSEntityDescription *entityDesc = [NSEntityDescription entityForName:@"AddToFav" inManagedObjectContext:context1];
NSSortDescriptor *sortDescriptor = [[[NSSortDescriptor alloc] initWithKey:@"bandName" ascending:YES] autorelease];
NSMutableArray *sortDescriptors = [NSMutableArray arrayWithObject:sortDescriptor];
[sortDescriptor release];
NSFetchRequest *request = [[NSFetchRequest alloc] init];
[request setEntity:entityDesc];
[request setSortDescriptors:sortDescriptors];
NSError *error;
NSMutableArray *array_new = [context1 executeFetchRequest:request error:&error];
if (!array_new)
{
NSLog(@"error: %@", error);
}
[self.fetchedObjects addObjectsFromArray:array_new];
[request release];
Я также добавил в проверку для array_new, чтобы вывести ошибкуВозможно, вы также захотите добавить дополнительную обработку ошибок.