Facebook iOs sdk iphone:来自多个ViewController的呼叫

问题描述

|| 我遵循了来自Facebook开发文档的官方指南,以通过我的iPhone应用程序实施SSO, 但所有人都在同一个拥有“ Facebook”类距离的视图控制器中。 现在考虑我要登录一个导航控制器的第一个viewcontroller,然后从同一导航控制器的第三个viewcontroller调用graph api。 我认为我可以将变量从一个控制器共享到另一个控制器,但是我想知道是否有一些“经典”方式来实现。确实,我希望通过以下方式实现目标: 在应用程序启动时,我希望登录,然后在我需要在应用程序中的任何地方调用图api(或fql)。 谢谢     

解决方法

我只是这样做: 在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];
    ,
facebook = [[Facebook alloc] initWithAppId:@\"YOUR_FACEBOOK_API\" andDelegate:self];
那就是我的代码的样子:)