2012-06-30 203 views
0

我想从UIViewController获取个人资料图片。IOS Facebook的单身人士,并获取个人资料图片

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

此行未命中。 - (空)要求:(FBRequest *)要求didLoad:(ID){结果

我怎么去各地与这些场景 1.Singleton Facebook的实例类,从UIViewController的 3.需要登录 2.calling 。

回答

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> 

然后,将自己设置为视图中的委托c ontroller,防爆 -

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 
} 
相关问题