我在自定义表格视图中有 FB 朋友的图像和名称。如何获取 FB ID 中的选定行并将请求发送给多个朋友?

Posted

技术标签:

【中文标题】我在自定义表格视图中有 FB 朋友的图像和名称。如何获取 FB ID 中的选定行并将请求发送给多个朋友?【英文标题】:I have FB friends images and names in custom table view. How to get selected row in FB ID's and send request to multiple friends? 【发布时间】:2014-01-08 05:30:55 【问题描述】:

我只有一个 FB ID,但它不能在多选中工作。我有自定义表格视图 在 FB 好友列表中。如何获取选定行的 FB ID

NSMutableArray *arryOfFBIds;
for (id<FBGraphUser> user in self.friendPickerController.selection) 

    NSMutableArray *selection=(NSMutableArray *) self.friendPickerController.selection;
     [selection addObject:user.id];


    arryOfFBIds = [[NSMutableArray alloc] init];
    for (id<FBGraphUser> user in self.friendPickerController.selection)
    
        [arryOfFBIds addObject:user.id ];





                NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    [defaults setObject: arryOfFBIds forKey: @"SelectedFBIds"];
    [defaults synchronize];
        NSLog(@"array of fb id:%@",arryOfFBIds);
    




NSMutableDictionary* params2 =   [NSMutableDictionary dictionaryWithObjectsAndKeys:@"Invite to on Ensmbl", @"description", @"http://placebogames.com/", @"link",
                                 // 3. Suggest friends the user may want to request, could be game context specific?
                                 [arryOfFBIds componentsJoinedByString:@","],@"to",  nil];
NSLog(@"qwer:%@",params2);



[FBWebDialogs presentFeedDialogModallyWithSession:[FBSession activeSession] parameters:params2  handler:^(FBWebDialogResult result, NSURL *resultURL, NSError *error)

     NSLog(@"error===>%@,resultURL===>%@",error,resultURL);
  ];



【问题讨论】:

您没有显示您正在使用的委托方法方法,上面的代码仅在使用 FB FPViewController,如果您的类是 FPViewController 的委托,并且代码放置在 - (void)facebookViewControllerDoneWasPressed: - 看下面的答案,我用过它并且它有效 (id)sender 【参考方案1】:

查看您下载的 SDK 源文件(可能安装在 My Documents 文件夹中) - 示例源代码之一称为 FriendPickerSample.xcodeproj

简而言之,为了显示朋友的表格视图,FB ios 使用了一个特殊的自定义表格视图控制器类,称为 FPViewController,它继承自 UIViewController,但具有 allowMultipleSelection 属性,如果设置为 TRUE 将允许您选择几个朋友,直到您按完成按钮。

完成按钮将触发一个名为

的委托方法
- (void)facebookViewControllerDoneWasPressed:(id)sender 
   NSMutableString *text = [[NSMutableString alloc] init];

   // we pick up the users from the selection, and create a string that we use to     update the text view
   // at the bottom of the display; note that self.selection is a property inherited     from our base class
   for (id<FBGraphUser> user in self.friendPickerController.selection) 
        if ([text length]) 
           [text appendString:@", "];
       
      [text appendString:user.name];
   

    [self fillTextBoxAndDismiss:text.length > 0 ? text : @"<None>"];     

只需使用示例代码并进行修改,您就可以对一组选定的朋友做任何您想做的事情。

【讨论】:

以上是关于我在自定义表格视图中有 FB 朋友的图像和名称。如何获取 FB ID 中的选定行并将请求发送给多个朋友?的主要内容,如果未能解决你的问题,请参考以下文章

图像的滚动视图在自定义表格视图单元格中不起作用

如何处理 UiTableviewCell 文本字段?

UIImageView 没有出现在自定义 UITableViewCell 中

在自定义表格视图 ios 中显示按钮

在自定义 tableviewcell 中更改 UIImage

无法在自定义表格视图单元格中使 ImageView 成为一个圆圈