我正在使用 nsuserdefaults 来保存一些 bools 数据,但我遇到了问题:
在我的 Storyboard 中,我为一个 View 选中了“隐藏”,但是当我使用我的应用程序时,该 View 不是“隐藏”的,我注意到这是因为当我删除它时 viewdidload:
中的 userdefaults, View 被隐藏。
有没有办法将其设置为隐藏?
我尝试在 viedidload
中设置隐藏但不起作用。
这是我的代码:
override func viewDidLoad() {
super.viewDidLoad()
// viewnote2.hidden = true
let boolsKey = NSUserDefaults.standardUserDefaults()
viewnote2.hidden = boolsKey.boolForKey("bool2")
}
这就是这个 View 的全部内容
最佳答案
UI
上的某些时间更改不适用于 viewDidLoad
,请尝试隐藏 viewDidAppear
上的 View 。还要检查您是否为 UserDefaults
中的 bool2
键设置了 Bool
值。
如果您还没有在 UserDefaults
中设置 Bool 值,那么您需要先像这样设置。
let boolsKey = NSUserDefaults.standardUserDefaults()
boolsKey.setBool(false,forKey:"bool2")
boolsKey.synchronize()
编辑:用于在 AppDelegate
中设置 bool。
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
let defaults = NSUserDefaults.standardUserDefaults()
let boolsKey = defaults.boolForKey("bool2")
if boolsKey {
defaults.setBool(false, forKey: "bool2")
defaults.synchronize()
}
return true
}
关于swift - viewdidload 中的 nsuserdefaults 禁用隐藏 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39168563/