NSSortDescriptor не работает при извлечении записей из Core Data - PullRequest
2 голосов
/ 13 октября 2010

Я пытаюсь использовать NSSortDescriptor в Core Data для получения моих записей.Дескриптор сортировки не влияет на массив модальных объектов.Это дает записи в том же порядке. Вот мой код:

NSManagedObjectContext *moc=[self managedObjectContext];
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription 
                               entityForName:@"To_Do" inManagedObjectContext:moc];

NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"repeatDate" ascending:NO];

NSArray *sortDescriptors = [NSArray arrayWithObjects:sortDescriptor, nil];
[sortDescriptor release];
[fetchRequest setSortDescriptors:sortDescriptors];
[fetchRequest setEntity:entity];
NSError * error = nil;

NSArray *arrEntity = nil;
arrEntity=[moc executeFetchRequest:fetchRequest error:&error];

1 Ответ

4 голосов
/ 14 октября 2010

Код выглядит нормально и должен работать.Поскольку у него нет пары возможных причин.

  1. Порядок несортированных выборок может совпадать с порядком сортировкиЭто может происходить иногда, если вы создаете объекты последовательно и используете ключ, например, дату создания или тому подобное.
  2. Ваши ключи могут иметь одинаковое значение.Это может произойти, если у вас есть значение по умолчанию.
  3. Вы ошиблись ключом или неправильно написали его название.Вы должны получить жалобу, но она не рухнет, если не сможет найти ключ.
...