Facebook iOS SDK 3.0 - 在FBFriendPickerViewController中保存并重新加载.selection

时间:2012-09-04 05:42:07

标签: facebook facebook-ios-sdk

FBFriendPickerViewController看起来非常简单。但是,它可能不适合我想要的场景。

基本上,我想保存用户选择到磁盘的朋友列表。在随后的应用程序启动时,我想显示FBFriendPickerViewController,这些“已保存”的朋友已被选中。

由于.selection属性是readonly,我不知道如何加载一个新的FBFriendPickerViewController实例,其中一部分朋友已经“选中”了。

1 个答案:

答案 0 :(得分:1)

最后我找到了解决方案。

我有一个NSDictionary dict,其密钥是facebook用户ID,值是名称。 粗略地说,这是代码:

NSMutableArray *results = [[NSMutableArray alloc] init];
for (id key in dict) {
  NSString *name = [dict valueForKey:key];
  id<FBGraphUser> user = (id<FBGraphUser>)[FBGraphObject graphObject];
  user.id = key;
  [user setName:name]; // This is not mandatory
  if (user) {
    NSLog(@"adding user: %@", user.name);
    [results addObject:user];
  }
}
// And finally set the selection property
friendPickerController.selection = results;

更新:它似乎无法正常工作....您会看到朋友已正确检查,但是当您完成时将要解析.selection选择,您将只获得您在UI中检查的朋友,而不是预先加载的朋友......

更新2 :如果您填写FBGraphUser.h标题文件中列出的所有字段

,它似乎工作正常