2012-06-30 245 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 
} 
相關問題