4

我已经实现了 Facebook 登录并检查了我的访问令牌的状态

-(void)fbDidLogin

现在,我UITableView有一个切换开关,如果我有访问令牌Button,它就会打开。UISwitch问题是,当我获得访问令牌时

-(void)fbDidLogin 

方法被调用。在这里,我通过调用来设置切换按钮的开关

[self.switch setOn:YES animated:YES];

但它没有发生。当我返回并再次打开该页面时,它显示正确的状态,但当我将其设置为fbDidLogin. 任何猜测为什么会这样?

对于 facebook 身份验证,它会超出应用程序并返回,也许这就是它发生的原因?但我正在调用一个网络服务fbDidLogin,它工作正常。

代码很简单

- (void)fbDidLogin {    
    [self.switch setOn:YES animated:YES];    
}
4

1 回答 1

1

您在哪里获得 fb 的访问令牌添加发布通知

[[NSNotificationCenter defaultCenter] postNotificationName:@"fbDidLogin" object:nil];

现在初始fb登录的方法是

-(void)fbLogin
{
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(fbDidLogin) name:@"fbDidLogin" object:nil];
 // some logic for intial fb login page
 }

同样在 fbDidLogin 方法中添加这个

- (void)fbDidLogin 
{   
[[NSNotificationCenter defaultCenter]removeObserver:self name:@"fbDidLogin" object:nil]; 
[self.switch setOn:YES animated:YES];    
}

收到访问令牌后,将立即调用 fbDIdLogin

如果访问令牌为 nil,则可以对 fb login failed 执行类似的过程。

于 2012-05-22T09:20:52.427 回答