gpt4 book ai didi

iPhone - facebook 登录后,UISwitch 的状态未在 -(void)fbDidLogin 方法中设置为 'On'

转载 作者:可可西里 更新时间:2023-11-01 06:11:53 24 4
gpt4 key购买 nike

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

-(void)fbDidLogin

现在,我有一个 UITableView,其中有一个切换 Button 作为 UISwitch,如果我有访问 token ,它就会打开。问题是,当我获得访问 token 时

-(void)fbDidLogin 

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

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

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

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

代码很简单

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

最佳答案

你在哪里获得fb添加帖子通知的访问 token

[[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 将在收到访问 token 后立即调用

如果访问 token 为 nil,可以对 fb 登录失败执行类似的过程。

关于iPhone - facebook 登录后,UISwitch 的状态未在 -(void)fbDidLogin 方法中设置为 'On',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10684330/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com