swift - viewdidload 中的 nsuserdefaults 禁用隐藏 View

标签 swift boolean nsuserdefaults

我正在使用 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/

相关文章:

swift - @selector() 在 Swift 中?

r - 查找包含在两个 `n1` FALSE 之间的 `n2` TRUE,整个内容包含在 `n3` TRUE 之间,等等

Python pandas if 语句基于 boolean 限定符

swift - 如何避免这种 Force Cast

ios - 从其他 viewController 访问 Swift 中的 UserDefaults

swift - 如何在 SwiftUI 中绘制自定义形状?

swift - 当我调用 reload tableView.reloadData() 时,自定义单元格属性不会更改

ios - UITableViewCell 委托(delegate) indexPath

java - 如何将 boolean 表达式字符串转换为对象?

iphone - 如何将第二行 UIPickerView 保存到 NSUserDefaults?