Для ясности вы должны создать класс для хранения значений для каждого раздела, а затем добавить их в свой словарь.Вы можете сделать все это в вашем контроллере, если вам не нужен дополнительный файл, но вы также можете создать другой файл, если хотите:
@interface TableSection
@property (nonatomic, retain) NSString *name;
@property (nonatomic, retain) NSString *order;
@property (nonatomic, retain) NSArray *objects;
@end
@implementation TableSection
@synthesize name;
@synthesize order;
@synthesize objects;
@end
NSMutableDictionary *sections = [NSMutableDictionary dictionary];
for (Book *object in self.books) {
TableSection *section = [categories objectForKey:object.category.categoryName];
if ( section == nil ) {
section = [[TableSection alloc] init];
section.name = object.category.categoryName;
section.order = object.category.sortOrder;
section.objects = [NSMutableArray array];
[sections setObject:section forKey:object.category.categoryName];
}
[(NSMutableArray *)section.objects addObject:object];
}
self.sections = [[categories allValues] sortUsingDescriptors:
[NSArray arrayWithObject:
[NSSortDescriptor descriptorWithKey:@"order" ascending:YES]]];