加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

iPhone – Facebook登录后,UISwitch的状态未设置为“On” – (vo

发布时间:2020-12-14 17:21:35 所属栏目:百科 来源:网络整理
导读:我已经实现了Facebook登录并检查了我的访问令牌的状态 -(void)fbDidLogin 现在,我有一个UITableView,我有一个切换按钮作为UISwitch,如果我有一个访问令牌,它会打开.问题是,当我获得访问令牌时 -(void)fbDidLogin 方法被调用.在这里,我通过调用设置切换按钮的
我已经实现了Facebook登录并检查了我的访问令牌的状态

-(void)fbDidLogin

现在,我有一个UITableView,我有一个切换按钮作为UISwitch,如果我有一个访问令牌,它会打开.问题是,当我获得访问令牌时

-(void)fbDidLogin

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

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

但它没有发生.当我再次打开该页面时,它显示正确的状态,但不是当我在fbDidLogin中设置它时.有没有猜到为什么会这样?

对于facebook身份验证,它会超出应用程序并返回,也许这就是为什么会发生这种情况?但是我从fbDidLogin调用了一个web服务并且工作正常.

代码很简单

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

解决方法

你获得fb的访问令牌添加帖子通知

[[NSNotificationCenter defaultCenter] postNotificationName:@“fbDidLogin”对象: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

如果访问令牌为零,则可以对fb登录失败进行类似的处理.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读