我正在尝试从UISwitch 将bool值保存到UserDefaults,并在另一个视图中检索它.但是,我尝试过多个教程和堆栈答案,似乎没有工作.
这是我如何保存它:
class SettingsViewController: UITableViewController {
@IBOutlet weak var soundSwitchOutlet: UISwitch!
@IBAction func soundSwitch(_ sender: UISwitch) {
UserDefaults.standard.set(soundSwitchOutlet.isOn, forKey: "sound")
}
Run Code Online (Sandbox Code Playgroud)
这就是我试图在另一个视图中检索它的方式:
if let savedValue = UserDefaults.standard.bool(forKey: "sound") {
boolValue = savedValue
}
//this is inside viewDidLoad and "boolValue" was declared outside viewDidLoad//
Run Code Online (Sandbox Code Playgroud)
出于某种原因,这段代码给了我错误,而且我尝试过的东西都没有.如何将bool保存到UserDefaults并在另一个视图中检索它?
编辑:我想我修复了第一部分.但是,我检索布尔值的方式似乎完全错误.另外:没有其他stackExchange答案回应我的要求,至少不是迅速.
我正在用 Swift 制作一个游戏,我希望精灵随着时间的推移移动得更快。
我有一个每秒增加的变量(它与 一起使用NSTimer)。我想用这个变量替换持续时间,在这行代码中:
let action = SKAction.moveToY(120, duration: 3)
Run Code Online (Sandbox Code Playgroud)
但我不能,因为持续时间必须是类型NSTimeInterval。
如何将我的变量(Int)转换为 NSTime Interval 以便它可以正常工作?
我想使用Pi来计算圆的面积和周长,但没有输入像Pi的10位数(3.1415926 ...).我确定有办法,谢谢!
我是SpriteKit的新手,我想知道是否有办法在不改变图像分辨率的情况下缩小XCode内部Sprite的大小.