首页 文章

IOS Facebook单身并获得 Profiles 图片

提问于
浏览
0

我想从UIViewController获取 Profiles 图片 .

我的Facebook是单人课程 . 来自UIViewController [[myfacebook shared requestWithGraphPath:@ "me/picture" andDelegate:self];
如果我需要第一次登录或应用程序启动,这不起作用 . 因为正在调用授权并且调用了dologin .

这条线没有被击中 . - (void)请求:(FBRequest *)请求didLoad:(id)result {

我如何处理这些场景1.Singleton Facebook实例类,2 . 从UIViewController调用3.需要登录 .

1 回答

  • 0

    我建议创建一个名为FacebookSingletonDelegate的协议

    @class FacebookSingleton; 
    
    @protocol FacebookSingletonDelegate <NSObject>
    
    - (void) facebookSingletonDidLogin:(FacebookSingleton *) facebookSingleton;
    
    - (void) facebookSingletonDidNotLogin:(FacebookSingleton *) facebookSingleton;
    
    - (void) facebookSingletonDidLogout:(FacebookSingleton *) facebookSingleton;
    
    - (void) facebookSingleton:(FacebookSingleton *)facebookSingleton
                request:(FBRequest *) request
                didLoad:(id)result;
    
    
    @end
    

    然后在你的FacebookSingleton.h中创建一个属性

    @property (nonatomic, strong) id<FacebookSingletonDelegate> delegate;
    

    然后让您的视图控制器符合协议 -

    @interface MyViewController<FacebookSingletonDelegate>
    

    然后,将自己设置为视图控制器中的委托,Ex -

    myViewController.delegate = self;
    

    然后,从FacebookSingleton实现(FacebookSingleton.m)触发委托方法 -

    - (void)request:(FBRequest *)request didLoad:(id)result 
    {
      [self.delegate facebookSingleton:self request:request didLoad:result]; 
    }
    

    然后,您可以在视图控制器中实现以下方法 -

    - (void) facebookSingleton:(FacebookSingleton *)facebookSingleton
                request:(FBRequest *) request
                didLoad:(id)result
    {
     // the view controller will receive the event in here
    }
    

相关问题