тогда я бы создал NSArray of Words и отфильтровал их: @ "title начинается с [c]% @"
аюсь сделать разделы в табличном представлении на основе алфавита и сортировать свои записи в алфавитном порядке по этим разделам.
Я собрал первое письмо в каждой записи bandArray в barsArrayIndex, и теперь я пытаюсь использовать NSPredicate для подсчета количества каждой буквы.
Я делаю это, следуяэто руководство.
Они используют NSArray, а я использую NSDictionary и, похоже, не могу заставить его работать. Может кто-нибудь мне помочь?
Приложение вылетает при попытке показать представление с табличным представлением в нем. В консоли отладчика отображается следующая ошибка:
* Завершение приложения из-за необработанного исключения «NSInvalidArgumentException», причина: «Невозможно выполнить операцию подстроки с чем-то, что не является строкой
Это мой код
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
NSString *alphabe,t = [bandsArrayIndex objectAtIndex:section];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF beginswith[c] %@", alphabet];
NSArray *letters = [bandsArray filteredArrayUsingPredicate:predicate];
return [letters count];
}
РЕДАКТИРОВАТЬ: Это моя группа Array.
Заголовок
NSMutableArray *bandsArray;
@property (nonatomic, retain) NSMutableArray* bandsArray;
Реализация
// set array from plist
NSString *path = [[NSBundle mainBundle] pathForResource:@"Bands" ofType:@"plist"];
NSMutableArray* tmpArray = [[NSMutableArray alloc] initWithContentsOfFile:path];
self.bandsArray = tmpArray;
// sort array after name ascending
NSSortDescriptor *nameSorter = [[NSSortDescriptor alloc] initWithKey:@"name" ascending:YES selector:@selector(caseInsensitiveCompare:)];
[bandsArray sortUsingDescriptors:[NSArray arrayWithObject:nameSorter]];