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参数中的字典内容了。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM