【问题标题】:UIswitch not getting updated after getting valueUIswitch在获得价值后没有得到更新
【发布时间】:2014-03-21 16:52:55
【问题描述】:

在应用程序中,我正在使应用程序从网络服务中获取值,以检查是否有人在关注其他人。当值为 YES 时,滑块必须更新为 ON。当我更新 ViewDidLoad 中的开关时,开关会更新。在 web 服务后的代码中,检查开关是否打开。 “是,用户正在关注”确实显示在日志文件中。

   if ([data length] >0 && error == nil){
        NSString *html = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
        NSLog(@"%@", html);

            if ([html isEqualToString:@"isfollowing"]) {
                NSLog(@"YES, user is following");
                SwitchOutlet.on = YES;

                    }
    }

【问题讨论】:

  • SwitchOutlet.on = YES; 处进入调试器并确保SwitchOutlet 不为零。
  • 你应该在主线程中更新你的 UI。

标签: ios uiswitch


【解决方案1】:

如果您在后台线程上进行 web 服务检查,那么您需要在主线程上更新 UI。替换这一行:

SwitchOutlet.on = YES;

带块:

dispatch_async(dispatch_get_main_queue(), ^{

    SwitchOutlet.on = YES;
});

让我们知道。

【讨论】:

  • 非常感谢!这确实是问题:)
猜你喜欢
  • 2019-11-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-20
  • 2021-03-28
  • 2016-01-30
  • 2018-04-08
  • 2018-04-09
相关资源
最近更新 更多