Swift   发布时间:2022-03-31  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了NSUserDefaults简介大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

NSUserDefaults是单例类。 单例类:是单例模式的一个实例,而模式单例是一种常见的编程方式。在iOS中,单例模式很常见,它用于确保特定类只有一个实例。单例最常用于表示硬件或者操作系统向应用程序提供的服务。 NSUserDefaults和对象归档 NSUerDefaults类提供了一个默认的 系统编程接口进行交互,可以说是最简单的存储方式之一,一般用来存储应用程序相关的偏好设置,配置数据等
@H_419_0@NSUserDefaults@H_674_15@是单例类。

@H_419_0@单例类:是单例模式的一个实例,而模式单例是一种常见的编程方式。在iOS中,单例模式很常见,它用于确保特定类只有一个实例。单例最常用于表示硬件或者操作系统向应用程序提供的服务。

NSUserDefaults和对象归档

@H_419_0@NSUerDefaults@H_674_15@类提供了一个认的 系统编程接口进行交互,可以说是最简单的存储方式之一,一般用来存储应用程序相关的偏好设置,配置数据等,以便于下次启动程序之后能恢复上次的设置。而且它可以在程序的任何地方存储和读取数据。在运行时,可以使用NSUerDefaults@H_674_15@对象读取应用程序的数据库获取数据。NSUerDefaults@H_674_15@具有缓存机制,所以不必再每次读取数据的时候都打开应用程序的认设置数据库。可以通过synchronize@H_674_15@方法来使内存中的缓存与系统数据库进行同步。

@H_419_0@NSUerDefaults@H_674_15@有限制,他一般用于存储单条数据,比如程序设置信息,而大量的条目数据一般使用数据库,大文件的数据则使用文件存储方式。

@H_419_0@对象归档(NSKeyedArchiver)@H_674_15@是将内存中的对象实例保存成磁盘并且可以逆向这个过程以保存用户操作状态等,他的用处很大,但是用起来比较麻烦,需要在程序设计的时候就把每个类实现NSCoding@H_674_15@协议功能

@H_419_0@可以通过NSUerDefaults单例来创建一个NSUerDefaults对象,给对象是全局变量,可以在整个项目中使用。代码如下:

var uerDefaults = NSUerDefaults.standardUserDefaults()
@H_419_0@也可以通过初试化方法init?(suitename suitename: String)来创建一个新的NSUSerDefaults@H_674_15@对象,参数suitename@H_674_15@代表对象的组名称

var userDefaults = NSUserDefaults(suitename: "SwiftClass")
@H_419_0@NSUserDefaults类提供了一些非常方便方法来设置和获取常用的数据类型,例如Int,Float,Double,Bool,NSURL。具体使用:

//Int类型
//设置   
userDefaults.setInteger(123456,forKey:"Int")
//读取
var intValue = userDefaults.IntegerForKey("Int")

//Float 类型
//设置
userDefaults.setFloat(3.2,forKey:"Float")
//读取
var floatValue = userDefaults.floatForKey("Float")

//Double类型
//设置
userDefaults.setDouble(5.6890,forKey:"Double")
//读取
var doubleVaule = userDefaults.doubleForKey("Double")

//Bool类型
//设置
userDefaults.setBool(true,forKey:"Boole")
//读取
var boolValue= userDefaults.boolForKey("Boole")

//NSURL类型
//设置
userDefaults.setURL(NSURL(String:"http://dowhile.net"),forKey:"NSURL")
//读取
var urlValue = userDefaultS.URLForKey("NSURL")
@H_419_0@如果想要删除NSUserDefaults@H_674_15@实例对象所有设置的值,我们需要获取到所有的Key,然后使用removeObjectForyKey@H_674_15@方法进行遍历删除

var ar:NSDictionary = userDefaults.DictionaryRepresentation()
for key in ar.allKeys{
    userDefaults.removeObjectForKey(key as String)
    userDefaults.synchronize()//内存中数据同步更新数据库
}
@H_419_0@你也许会有疑问,这些数据到底存储在了那里呢?

@H_419_0@其实它存储在应用程序内置的一个plist文件里,这个可以根据路径看到。@H_607_60@比如说这个是你的程序沙盒位置

@H_419_0@/UsersLibrary/Application Support/iPhonesimulator/4.1/Applicati*@H_674_15@/29788E40-AF47-45A0-8E92-3AC0F501B7F4/,(这个是应用程序对应在mac上的位置)

@H_419_0@在你的/Library/Prefereces,里面有个plist文件,存储的就是你的userDefaults

大佬总结

以上是大佬教程为你收集整理的NSUserDefaults简介全部内容,希望文章能够帮你解决NSUserDefaults简介所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。