哪个FBSDKShareDialog做了CompleteWithResults?

时间:2015-05-05 16:27:41

标签: ios objective-c facebook facebook-ios-sdk

使用Facebook SDK 4.0,如果我在同一个视图控制器上有不同的Facebook共享按钮。

[FBSDKShareDialog showFromViewController:self withContent:content delegate:self];

在委托上我怎么知道,使用sharer对象,哪个共享对话框已经结果?

-(void)sharer:(id<FBSDKSharing>)sharer didCompleteWithResults:(NSDictionary *)results;

2 个答案:

答案 0 :(得分:2)

感谢你的回答明。

因此,如果您需要这样做,您应该使用实例方法而不是类方法showFromViewController:withContent:delegate:

·H

@property (strong, nonatomic) FBSDKShareDialog *shareCodeDialog;

的.m

self.shareCodeDialog = [FBSDKShareDialog new];
[self.shareCodeDialog setDelegate:self];
[self.shareCodeDialog setShareContent:content];
[self.shareCodeDialog setFromViewController:self];
[self.shareCodeDialog show];

-(void)sharer:(id<FBSDKSharing>)sharer didCompleteWithResults:(NSDictionary *)results {

      if ([sharer isEqual:self.shareCodeDialog]) {
           // Your delegate code
      }
}

答案 1 :(得分:0)

委托中的sharer对象是调用showFromViewController的FBSDKShareDialog实例:withContent:delegate:method。因此,您可以与您的共享对话框实例进行比较,也可以自己进行内部簿记(在调用showFromViewController:...方法之前)。