如何在FBSessionDelegate方法中执行segue?

时间:2012-02-03 10:24:33

标签: ios delegates facebook-ios-sdk

我对facebook iPhone SDK有疑问,希望有人能帮助我!首先:我正在使用故事板。在我的AppDelegate文件中,我像这样初始化Facebook:

Start *startController = [[Start alloc] init];
facebook = [[Facebook alloc] initWithAppId:kAppId andDelegate:startController];

因此我可以在StartController中处理委托选择器。到这里一切正常,Facebook用户可以登录,我得到有关他的信息。我的问题从这里开始:

#pragma mark - FBSessionDelegate Methods
- (void)fbDidLogin {

    AppDelegate *delegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
    [self storeAuthData:[[delegate facebook] accessToken] expiresAt:[[delegate facebook] expirationDate]];

    [self performSegueWithIdentifier:@"facebookLoginSegue" sender:nil];

}

当用户成功登录时,将调用此选择器。在我的故事板中有一个名为“facebookLoginSegue”的segue,它从viewcontroller开始。 viewcontroller得到了“Start”类。

//编辑:当然,我已将segue连接到另一个视图控制器。

比我收到错误:

*** WebKit discarded an uncaught exception in the webView:decidePolicyForNavigationAction:request:frame:decisionListener: delegate: <NSInvalidArgumentException> Receiver (<Start: 0x94b48d0>) has no segue with identifier 'facebookLoginSegue'

我不明白为什么找不到segue。我已经使用IBAction进行了测试,如果存在这种情况 - 但如果我这样做,那就有效了。

有人可以告诉我我做错了什么吗?如何在该委托选择器中执行segue? 谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

你的故事板文件没有segue @“facebookLoginSegue” 你可以将@“facebookLoginSegue”链接到其他视图控制器但不能启动ViewController