FBFriendPickerViewController看起来非常简单。但是,它可能不适合我想要的场景。
基本上,我想保存用户选择到磁盘的朋友列表。在随后的应用程序启动时,我想显示FBFriendPickerViewController,这些“已保存”的朋友已被选中。
由于.selection属性是readonly,我不知道如何加载一个新的FBFriendPickerViewController实例,其中一部分朋友已经“选中”了。
答案 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标题文件中列出的所有字段
,它似乎工作正常