zoukankan      html  css  js  c++  java
  • NSUserDefaults registerDefaults

    NSUserDefaults除了保存和读取功能外,还为我们提供了一个很便捷的方法:registerDefaults。

    func registerDefaults(registrationDictionary: [NSObject : AnyObject])

    它的参数是一个字典类型。它的作用是为定义一组默认的数据,仅仅是定义一组默认的数据…这些默认的数据是不会被保存到plist文件中的,我们需要手动变更这些数据然后保存。

    举一个栗子,我们可以使用这个方法来确认App是否是第一次启动:

    let defa = NSUserDefaults()
    //注册一个默认值
    defa.registerDefaults(["firstRun":true])
    //从plist文件中读取内容,因为第一次启动还没有生成plist文件,所以读取上面注册的默认值
    let isFirstRun = defa.boolForKey("firstRun")
    //是第一次启动
    if(isFirstRun){
        
        println("这是第一次启动")
        //手动把firstRun改为false,保存到plist中
        defa.setBool(false, forKey: "firstRun")
    }
    else{
        println("不是第一次启动")
    }

    registerDefaults方法中的字典数据是不会被保存到plist文件中的,当我们读取某个键值时,如果plist中没有找到,那么会从registerDefaults方法的字典参数中寻找对应的键值,拿到默认值。当我们做了相应处理后,再手动把这个键值内容保存到plist中,下次读取是就会直接读plist文件中的键值了,而不会读取registerDefaults参数中的字典内容了。

  • 相关阅读:
    Mat类型at问题-opencv-bug调试
    计算机视觉牛人博客和代码汇总(全)-转载
    程序运行时间c++/matlab
    配置海康相机SDK文件
    matlab与vs混合编程/matlab移植
    一步步入门log4cpp
    批量解帧视频文件cpp
    判断颜色信息-RGB2HSV(opencv)
    向量非零区域块
    海康抓拍机SDK开发
  • 原文地址:https://www.cnblogs.com/qiutangfengmian/p/6084678.html
Copyright © 2011-2022 走看看