【发布时间】:2011-03-28 04:57:42
【问题描述】:
我已经阅读 Stack Overflow 有一段时间了,期待参与!关于问题...
我已经编程了大约 10 年,但对 iOS 编程和 Objective-C 是全新的。
我正在尝试构建一个需要 Facebook 登录的应用程序。当应用程序打开时,它需要加载一个带有徽标和 Facebook 登录按钮的视图。我可以做到这一点,让它毫无问题地工作。在他们使用 Facebook 登录后,我的应用程序将向我的服务器发送一个 API 调用,并通过我的系统对他们进行身份验证,并用他们的系统权限发回一个回调。如果返回他们具有正确的前进权限,他们将被发送到带有选项卡式界面的视图。我也有选项卡式界面工作。
我制作了一个 FirstViewController 来处理 Facebook 登录按钮,并为每个选项卡设置了视图控制器。
在 MyAppDelegate.m 文件中会存在如下内容:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
//init facebook & send initial view with login button
facebook = [[Facebook alloc] initWithAppId:@"MYAPPID"];
[self.window addSubview:FirstViewController.view];
[self.window makeKeyAndVisible];
//Code to check permissions from webserver
if (permissions && _isLoggedIn) {
// Add the tab bar controller's view to the window and display.
[self.window addSubview:tabBarController.view];
[self.window makeKeyAndVisible];
}
else //access denied view
return YES;
}
现在,我需要调用 FirstViewController 中的 Facebook 登录方法...
[facebook authorize:nil delegate:self];
1) 如何在 MyAppDelegate 中访问 Facebook 实例? (我还需要能够从所有其他视图访问。)我是否创建一个委托/协议以从 MyAppDelegate 访问它?
2) 我这样做是不是非常愚蠢?如果是这样,请帮助业余 iOS 程序员走上正确的道路。
3) 如何很好地利用 Facebook 方法中的“delegate:”参数?我不确定我是否理解得很好。
谢谢, 马特
【问题讨论】:
标签: iphone objective-c facebook sdk protocols