Приложение для iOS. получить друзей на Facebook в алфавитном порядке

#ios #facebook

#iOS #Facebook

Вопрос:

Я успешно интегрировал API iOS Facebook в свое приложение. Теперь я хочу получить друзей пользователей. Чтобы получить его, я использую:

 [facebook requestWithGraphPath:@"me/friends" andDelegate:self];
 

И я реализую метод делегирования, чтобы получить его:

 - (void)request:(FBRequest *)request didLoad:(id)result {

    uids = [[NSMutableArray alloc]init];
    if([result isKindOfClass:[NSDictionary class]])
    {
        NSLog(@"dictionary %@",result);
        result=[result objectForKey:@"data"];
        if ([result isKindOfClass:[NSArray class]]) 

            for(int i=0;i<[result count];i  ){

                NSDictionary *result2=[result objectAtIndex:i];
                /*NSLog(@"resultq:%@",result2);

                NSString *result1=[result2 objectForKey:@"id"];
                NSLog(@"uid:%@",result1);*/

                Friend *f = [[Friend alloc] initWithDictionary:result2];
                [uids addObject:f];
                [f release];
            }
        NSLog(@"uids %@",uids);    
    }
}
 

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

Вопрос в том, есть ли какой-либо способ получить друзей пользователя в алфавитном порядке?

Ответ №1:

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

 sortedArray = [anArray sortedArrayUsingSelector:@selector(localizedCaseInsensitiveCompare:)];
 

Но если вы хотите сравнить массив по атрибуту / переменной класса Friends, то есть имени, вы можете сделать это следующим образом:

 sortedArray = [anArray sortUsingSelector:@selector(name)];
 

Комментарии:

1. То, что вы сказали, было полезно. Спасибо, это мой окончательный код: NSSortDescriptor *alphaDesc = [[NSSortDescriptor alloc] initWithKey:@»friendName» по возрастанию: ДА selector:@selector (localizedCaseInsensitiveCompare:)]; [uids сортировка с использованием описаний:[NSMutableArray arrayWithObjects:alphaDesc, nil]]; [Выпуск alphaDesc], alphaDesc = nil;

2. Работает отлично… Большое спасибо