2013-05-10 4 views
2

Я создаю кучу Группа Entities:Magical запись ошибка сортировки

for (NSString *groupID in result) { 
    group = [Group MR_createInContext:context]; 

    group.groupID = [NSNumber numberWithInteger:[groupID integerValue]]; 
} 

Затем я хочу, чтобы перечислить их по роду:

NSArray *groups = [Group MR_findAllSortedBy:@"groupID" ascending:TRUE inContext:context]; 

for (Group *group in groups) { 
    DLog(@"group.groupID: %@", group.groupID); 
    DLog(@"group: %@", group); 
} 

, который производит ошибку:

-[__NSCFNumber caseInsensitiveCompare:]: unrecognized selector sent to instance 0x2595d2c0 
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFNumber caseInsensitiveCompare:]: unrecognized selector sent to instance 0x2595d2c0' 

Моя группа Entity автоматически генерируется:

#import <Foundation/Foundation.h> 
#import <CoreData/CoreData.h> 

@interface Group : NSManagedObject 

@property (nonatomic, retain) NSNumber * groupID; 

@end 

@interface Group (CoreDataGeneratedAccessors) 

@end 

Если я такой же выборки ж/из Волшебного записи, это ковшики хорошо:

NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] initWithEntityName:@"Group"]; 

NSSortDescriptor *sort = [[NSSortDescriptor alloc] initWithKey:@"groupID" ascending:TRUE selector:nil]; 

NSArray *sorters = [NSArray arrayWithObject:sort]; 

[fetchRequest setSortDescriptors:sorters]; 
NSError *error = nil; 

NSArray *fetchedObjects = [context executeFetchRequest:fetchRequest error:&error]; 

Любые идеи, почему я получаю ошибку?

+0

Я не могу воспроизвести проблему, я имею установку небольшой проект с Magical запись, которая вставляет некоторые группы и Выполняет именно ваш 'MR_findAllSortedBy: .. .fetch запрос, и он работает отлично. - Можете ли вы установить breakpoin t в разделе «Все исключения Objective-C» и разместить обратную трассировку стека, где происходит исключение? –

ответ

2

Так что я проверил репо Magical запись на GitHub (https://github.com/magicalpanda/MagicalRecord), и я не видел метод, который вы используете (вероятно потому, что был в документации на bug относительно методов сортировки для выборки отсортированных объектов, но я видел .. два других методов, которые рекомендуются для выборки отсортированных объектов

[entity MR_findAllSortedByProperty:@"property" ascending:YES] // single property [entity MR_findAllSortedByProperty:@"oneProperty,secondProp" ascending:YES] // mutliple properties

+0

https://github.com/magicalpanda/MagicalRecord/blob/master/MagicalRecord/Categories/NSManagedObject/NSManagedObject%2BMagicalFinders.h имеет этот метод. Забавно, потому что я не могу найти метод, который они используют в учебнике. Интересно, не обновлен ли этот раздел? – Padin215

+0

Я думаю, что учебник был обновлен 20 дней назад или такой, потому что был добавлен запрос на перенос с этими двумя новыми методами. Эти два метода работают? – danypata

+0

Я не могу найти их в классах. – Padin215