#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. Работает отлично… Большое спасибо