2012-09-04 71 views
4

FBFriendPickerViewController看起來非常簡單。但是,它可能不是爲我想要的場景而設計的。Facebook iOS SDK 3.0 - 在FBFriendPickerViewController中保存並重新加載.selection

本質上,我想保存用戶選擇到磁盤的朋友列表。在後續的應用程序啓動時,我想將這些「已保存」的朋友的FBFriendPickerViewController顯示爲已被選中。

由於.selection屬性是隻讀的,我不知道如何加載FBFriendPickerViewController的一個新實例,其中已經選擇了一部分朋友。

+0

該曲estion是舊的,但我仍然在尋找解決方案,這有什麼好運氣? –

+0

我會從死裏把這個舊的iOS6應用程序 - 讓你發佈。 – rjl

+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; 

UPDATE:好像它不能正常工作....你會看到正確地檢查了朋友,但是當你將去解析.selection時選擇完成後,你會得到只有你的UI,沒有預裝的那些檢查了朋友...

更新2:它似乎很好地工作,如果你填寫在FBGraphUser.h頭中列出的所有字段文件