我已经为我的应用程序实现了一个开关ui元素。它充当音乐切换器并且完美地工作。但是,一旦你离开视图控制器并返回。开关图形设置为开,但实际值与用户先前设置的值相同
可能导致这种情况的原因是什么?并且有什么方法可以解决这个问题,我认为这会让用户感到困惑,无论是否实际关闭,开关都会一直打开。
@Robotic cat:我不知道prepareForsegue
是什么......
audioPlayer
在主viewController.swift
文件中全局设置
相关代码:
import UIKit
class SettingsViewController: UIViewController {
@IBAction func musicToggle(_ sender: UISwitch)
{
audioPlayer.prepareToPlay()
if (sender.isOn == true)
{
playMusic()
}
else if (sender.isOn == false)
{
stopMusic()
}
}
override func viewDidLoad() {
super.viewDidLoad()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func playMusic()
{
audioPlayer.play()
audioPlayer.numberOfLoops = -1
}
func stopMusic()
{
audioPlayer.stop()
}
}
答案 0 :(得分:1)
好的,我已经通过Robotic Cat
解决了我的问题我需要做的是将切换的值保存到UserDefault
,然后在viewDidAppear
函数中获取该值。
这也解决了无论应用何时关闭并重新启动,音乐都会播放的问题,但是,我知道UserDefaults
就是解决方案。