2011-03-17 137 views
4

我遵循facebook dev官方指南從我的iPhone應用程序 實施SSO,但所有人都在同一個view controller中持有「Facebook」類的資格。 現在考慮我想在一個導航控制器的第一個視圖控制器中登錄,然後從同一個導航控制器的第三個視圖控制器調用圖形api。 我想我可以將變量從一個控制器分享給另一個控制器,但是我想知道是否有一些「經典」方法可以實現這一點。事實上,我想要完成的事情如下: 在應用程序的開始,我希望登錄,然後在我的應用程序中隨時調用圖形api(或fql)。Facebook iOs sdk iphone:來自多個視圖控制器的呼叫

THX

回答

10

我只是這樣做:

在YourApp_AppDelegate.h

#import "FBConnect.h" 

Facebook *facebook; 

@property (nonatomic, retain) Facebook *facebook; 

在YourApp_AppDelegate.m

@synthesize facebook; 

然後在您的應用程序didFinishLaunchingWithOptions:功能:

facebook = [[Facebook alloc] initWithAppId:@"YOUR_FACEBOOK_API"]; 

從您的viewController.h(任何人),

#import "YourApp_AppDelegate.h" 

YourApp_AppDelegate *appDelegate; 

,然後在你的viewController.m viewDidLoad中功能:

appDelegate = (YourApp_AppDelegate *)[[UIApplication sharedApplication] delegate]; 

現在,任何時候你想參考你的Facebook的單身,只是指它喜歡:

[appDelegate.facebook authorize:nil delegate:self]; 
+0

呼叫是:[[ALLOC的Facebook] initWithAppId:kAppId andDelegate:<(ID )];你必須指定一個委託。 – 2012-03-16 15:52:38

-1
facebook = [[Facebook alloc] initWithAppId:@"YOUR_FACEBOOK_API" andDelegate:self]; 

那它看起來像在我的代碼:)