【发布时间】:2015-05-01 09:46:42
【问题描述】:
如果我第一次启动应用程序,NSUserDefaults 的布尔键是 nil,当应用程序在 if-statement 中尝试设置状态时,应用程序会崩溃。
我尝试如下初始化 viewDidLoad() 中的密钥,但密钥似乎未定义:
let defaults = NSUserDefaults.standardUserDefaults()
if (defaults.objectForKey("fasterDemo") != nil) {
defaults.setBool(true, forKey: "fasterDemo")
}
fastDemo 键可以通过第二个视图上的开关进行更改。故事板中的视图在ViewController.swift 中的两个类中控制。
添加我尝试将状态作为计时器参数读出的代码。
let demo = defaults.stringForKey("fasterDemo")
var timerSpeed: Double = 1
if (demo! == "1") {
timerSpeed = 0.001
}
else {
timerSpeed = 1
}
timer = NSTimer.scheduledTimerWithTimeInterval(timerSpeed, target: self, selector: Selector("countdownTimer"), userInfo: nil, repeats: true)
我在 Xcode 方面的经验并不丰富(不是说:我是初学者)。 感谢您的支持!
【问题讨论】:
-
if (defaults.objectForKey("fasterDemo") == nil)* -
另外,如果你设置了布尔值,不要读取字符串
标签: ios swift crash initialization nsuserdefaults