UISwitch似乎没有显示正确的状态

问题描述:

我在页面上有四个UISwitch。 我正在测试AnimalSwitch,看它是否有效。 默认情况下,当我关闭它并转到不同的视图控制器并返回时,测试标签表示它仍然关闭,但开关图像显示它已打开。 这是开关的代码试图改变(其他人我没有动过,直到我修复这一个)。 其他开关命名相同,只有“动物”一词更改。UISwitch似乎没有显示正确的状态

let defaults = UserDefaults.standard 
    AnimalSwitch.setOn(true, animated: true) 
    if (defaults.object(forKey: "AnimalswitchState") != nil) { 
    AnimalSwitch.isOn = defaults.bool(forKey: "AnimalswitchState") 
    print("switched") 
} 
+0

它已修复!问题是我的代码中的其他地方谢谢! – Femkeo

您确定userDefaults已更新?请记住,您需要synchronize()才能应用更改。而且,你什么时候更新开关和标签?您应该使用交换机的事件值更改来更新标签。

+0

我认为同步()没有更多的需要在迅速 –

+0

我查了它,你的权利从版本8.0不再需要。 – Femkeo