我正在尝试从UIViewController获取个人资料图片。
我的Facebook是单人课程。
来自UIViewController
[[myfacebook shared requestWithGraphPath:@“me / picture”andDelegate:self];
如果我需要第一次登录或应用程序启动,这不起作用。
因为正在调用授权并且调用了dologin。
这条线没有被击中。 - (void)请求:(FBRequest *)请求didLoad:(id)result {
我如何解决这些问题 1.Singleton Facebook实例课, 2.从UIViewController调用 3.需要登录。
答案 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
}