Facebook iOs sdk iphone:来自多个viewcontroller的调用

Ale*_*lli 4 facebook ios

我按照facebook dev doc的官方指南从我的iphone应用程序实现SSO,但所有都在同一个视图控制器中,持有"Facebook"类的等级.现在考虑我想登录一个navigationcontroller的第一个viewcontroller,然后从同一个navigationcontroller的第三个viewcontroller调用graph api.我想我可以将变量从一个控制器共享到另一个控制器,但我想知道是否有一些"经典"方法来实现这一点.事实上,我想要完成的事情是:在应用程序的开始我想登录,然后在我的应用程序中的任何地方调用图形api(或fql).

谢谢

Jef*_*ume 10

我这样做了:

在YourApp_AppDelegate.h中

#import "FBConnect.h"

Facebook *facebook;

@property (nonatomic, retain) Facebook *facebook;
Run Code Online (Sandbox Code Playgroud)

在YourApp_AppDelegate.m中

@synthesize facebook;
Run Code Online (Sandbox Code Playgroud)

然后在你的应用程序中使用didFinishLaunchingWithOptions:function:

facebook = [[Facebook alloc] initWithAppId:@"YOUR_FACEBOOK_API"];
Run Code Online (Sandbox Code Playgroud)

从你的viewController.h(其中任何一个),

#import "YourApp_AppDelegate.h"

YourApp_AppDelegate *appDelegate;
Run Code Online (Sandbox Code Playgroud)

然后,在你的viewController.m viewDidLoad函数中:

appDelegate = (YourApp_AppDelegate *)[[UIApplication sharedApplication] delegate];
Run Code Online (Sandbox Code Playgroud)

现在,无论何时你想要引用你的Facebook单身,只需参考它:

[appDelegate.facebook authorize:nil delegate:self];
Run Code Online (Sandbox Code Playgroud)