我想使用Graph API。我想將它們加載到UITableView中。 另外加載整個用戶的詳細信息是很慢... 有沒有一種方法,我可以使其更快?在Facebook iOS SDK中獲取Facebook用戶朋友名字列表的最有效方式是什麼?
還有一件事: 有沒有一種方法可以在用戶登錄後在Facebook iOS SDK提供的登錄窗口中加載Facebook上的頁面?幾乎我要加載用戶的登錄憑據一定的粉絲頁面...
我想使用Graph API。我想將它們加載到UITableView中。 另外加載整個用戶的詳細信息是很慢... 有沒有一種方法,我可以使其更快?在Facebook iOS SDK中獲取Facebook用戶朋友名字列表的最有效方式是什麼?
還有一件事: 有沒有一種方法可以在用戶登錄後在Facebook iOS SDK提供的登錄窗口中加載Facebook上的頁面?幾乎我要加載用戶的登錄憑據一定的粉絲頁面...
我添加下面的方法來Facebook的類來獲取用戶的朋友列表:
-(BOOL) getFriendsList : (id<FBRequestDelegate>) delegate
{
if (! [self isSessionValid])
{
return NO;
}
else
{
[self requestWithGraphPath:@"me/friends" andDelegate:delegate];
return YES;
}
}
對於從處理響應服務器我寫了下面的方法:
- (void)request:(FBRequest *)request didLoad:(id)result
{
NSDictionary * data = result;
NSArray *separatedName;
Contact * current;
_contactsFromFacebook = [[NSMutableDictionary alloc] init];
for (NSDictionary * contact in data)
{
separatedName = [[contact objectForKey:@"name"] componentsSeparatedByString:@" "];
current = [[Contact alloc]
initWithFirstName:[separatedName objectAtIndex:0]
andLastName:[separatedName objectAtIndex:1]];
if(current.alphabeticKey)
{
[self.contactsFromFacebook addObject:current toExsistingArrayWithKey:current.alphabeticKey];
[self addFriendToImportList:current];
}
[current release];
}
self.allKeysSorted = [NSMutableArray arrayWithArray:[self.contactsFromFacebook allKeys]];
[self.tableView reloadData];
}
注:
UITableView
[self.tableView reloadData]
(重新)加載我剛剛從facebook獲得的所有聯繫人。如果你想盡早打電話給它,就像在viewDidLoad
中一樣,你最終會得到一個空表,因爲還沒有聯繫人。使用Facebook SDK 3.0,你可以得到好友列表是這樣的:
FBRequest* friendsRequest = [FBRequest requestForMyFriends];
[friendsRequest startWithCompletionHandler: ^(FBRequestConnection *connection,
NSDictionary* result,
NSError *error) {
NSArray* friends = [result objectForKey:@"data"];
NSLog(@"Found: %i friends", friends.count);
for (NSDictionary<FBGraphUser>* friend in friends) {
NSLog(@"I have a friend named %@ with id %@", friend.name, friend.id);
}
}];
考慮KNMultiItemSelector管理選擇列表爲您服務。