IOS Facebook单身并获得个人资料图片

时间:2012-06-30 08:27:35

标签: ios facebook singleton

我正在尝试从UIViewController获取个人资料图片。

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

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

我如何解决这些问题 1.Singleton Facebook实例课, 2.从UIViewController调用 3.需要登录。

1 个答案:

答案 0 :(得分: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
}