我在页面上有四个UISwitch。 我测试AnimalSwitch是否有效。 默认情况下它打开,当我关闭它并转到另一个视图控制器并返回时,测试标签表示它仍然关闭,但开关图像显示它已打开。 这是我试图改变的Switch的代码(其他我没有动过,直到我解决这个问题)。 其他开关的名称相同,只有“动物”这个词改变了。
let defaults = UserDefaults.standard
AnimalSwitch.setOn(true, animated: true)
if (defaults.object(forKey: "AnimalswitchState") != nil) {
AnimalSwitch.isOn = defaults.bool(forKey: "AnimalswitchState")
print("switched")
}
答案 0 :(得分:1)
您确定userDefaults
已更新吗?请记住,您需要synchronize()
来应用更改。而且,您何时更新交换机和标签?您应该使用交换机更改的事件值来更新标签。