问题描述
||
我遵循了来自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];
那就是我的代码的样子:)