gpt4 book ai didi

ios - 应用程序首次启动时 NSUserDefaults 键初始化

转载 作者:可可西里 更新时间:2023-11-01 01:06:02 24 4
gpt4 key购买 nike

如果我第一次启动一个应用程序,NSUserDefaults 的 bool 键是 nil 并且应用程序在尝试设置状态时崩溃if-语句。

我尝试按如下方式在 viewDidLoad() 中初始化 key ,但 key 似乎未定义:

let defaults = NSUserDefaults.standardUserDefaults()
if (defaults.objectForKey("fasterDemo") != nil) {
defaults.setBool(true, forKey: "fasterDemo")
}

可以通过第二个 View 上的开关更改 fasterDemo 键。 Storyboard中的 View 由 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 不是很熟悉(不是说:我是初学者)。感谢您的支持!

最佳答案

试试这个,

let defaults = NSUserDefaults.standardUserDefaults()
if (defaults.objectForKey("fasterDemo")) {//no need to use '==nil'
defaults.setBool(true, forKey: "fasterDemo")
}

和,

let demo = defaults.boolForKey("fasterDemo")
var timerSpeed: Double = 1

if (demo) {//same as 'demo == true'
timerSpeed = 0.001
}
else {
timerSpeed = 1
}

timer = NSTimer.scheduledTimerWithTimeInterval(timerSpeed, target: self, selector: Selector("countdownTimer"), userInfo: nil, repeats: true)

请注意 stringForKey 已替换为 boolForKey

关于ios - 应用程序首次启动时 NSUserDefaults 键初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29984654/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com