2016-10-25 3 views
-3

У меня есть NSArray self.objects, который представляет собой массив пользователей.Как отсортировать по алфавиту NSArray в UITableView в алфавитном порядке?

Я хотел бы отделить имена пользователей в алфавитном порядке от раздела UITableView.

Я выстрелил в этом:

NSDictionary *usernameDictionary = [NSDictionary dictionaryWithObject:[self.objects valueForKey:@"username"] forKey:@"usernames"];

Я не уверен, куда идти.

UPDATE:

NSMutableSet *mySet = [[NSMutableSet alloc] init]; 
    for (NSString *s in [self.objects valueForKey:@"username"]) 
    { 
     if (s.length > 0) 
      [mySet addObject:[s substringToIndex:1]]; 
    } 

    NSArray *indexArray = [[mySet allObjects] sortedArrayUsingSelector:@selector(localizedCaseInsensitiveCompare:)]; 

У меня есть заголовки разделов, чтобы прочитать письма, и на стороне, только вопрос им с в том, что каждая секция имеет весь массив в нем. и не специфичен по отношению к букве, чтобы

трудное время, используя пример appcoda по numberofrowsinsection:

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
{ 
    // Return the number of rows in the section. 
    NSString *sectionTitle = [animalSectionTitles objectAtIndex:section]; 
    NSArray *sectionAnimals = [animals objectForKey:sectionTitle]; 
    return [sectionAnimals count]; 
} 
+0

Я думаю, вы еще не читали о заголовках разделов таблицыView. Пожалуйста, прочитайте об этом. – Joshua

+0

@ Joshua Я понимаю, как это работает, я просто не понимаю, как создавать разделы для букв, а затем правильно вставлять правильные буквы – farhan

+0

@ Joshua i обновил то, что я сделал до сих пор. – farhan

ответ

0
NSArray *sortedArray = [self.objects sortedArrayUsingSelector:@selector(localizedCaseInsensitiveCompare:)]; 

Теперь вы можете создать изменяемый словарь, где он будет добавлять объекты в каждой секции есть один ключ будет содержать массив этих имен пользователей с одинаковым алфавитом, а ключ может быть первым символом первого имени пользователя с изменением алфавита.

+0

Добавляю ли я это с моей строкой кода? – farhan

+0

Как использовать массив для создания разделов? – farhan

+0

no .. Я написал код для сортировки массива по алфавиту, так что теперь поставьте для цикла или быстрого перечисления и добавьте в свой словарь, сравнив первый символ предыдущего имени индекса и текущего имени индекса .. Если есть изменение в имени, тогда добавьте его в новую пару ключевых значений –

Смежные вопросы