首页 理论教育 如何读写属性列表数据

如何读写属性列表数据

时间:2023-06-23 理论教育 版权反馈
【摘要】:属性列表是iOS中的一种数据表示形式,用来对Foundation中的字典、数组、字符串、日期和数字等基础类型进行存储。这是一种组织数据的格式,每个标签代表了其值的数据结构形式。示例如下:动手写19.2.1 PropertyListPractise->ViewController.swift属性列表是一种XML的结构。图19.2.1test.plist结构本例中首先创建一个字典,里面有一对键值。通过PropertyListSerialization的类方法data(),声明如下:这是进行从字典转换为数据的过程,是一个会抛出错误的方法,所以在调用时要用do-catch语句包裹住,并且在方法调用前加上try。

如何读写属性列表数据

属性列表(property list)是iOS中的一种数据表示形式,用来对Foundation中的字典、数组、字符串、日期和数字等基础类型进行存储。属性列表在存储数据时有自己特定的结构,最常见的是每个应用中的Info.plist(在第9章中已经介绍过)。现在我们可以使用源码的方式打开Info.plist,文件如下:

属性列表是一种XML的结构(本书会在下一章中详细介绍XML)。这是一种组织数据的格式,每个标签代表了其值的数据结构形式。我们可以在代码中使用基础的数据类型构造一个属性列表并写入本地文件,也可以从本地文件中将一个属性列表读取出来。示例如下:

动手写19.2.1 PropertyListPractise->ViewController.swift

控制台输出如下:

PropertyListSerialization提供了类方法data(),可以将字典转换为Data的实例,最后通过Data的实例方法将plist文件保存到指定目录下。根据控制台打印出来的路径,我们可以从Finder中找到test.plist,使用Xcode打开test.plist文件,如图19.2.1所示,其中Root是Dictionary类型,其中有一个键为“key”、值为“value”的键值对。

图19.2.1 test.plist结构(www.xing528.com)

本例中首先创建一个字典,里面有一对键值。通过PropertyListSerialization(属性列表序列化)的类方法data(),声明如下:

这是进行从字典转换为数据(Data)的过程,是一个会抛出错误的方法,所以在调用时要用do-catch语句包裹住,并且在方法调用前加上try。

接着拿到Document的路径,并且以此创建这个test.plist的路径。调用Data的实例方法write(),如下:

将转为data的plist文件写入到本地的文件当中。紧接着,使用Data的初始化方法init():

传入之前保存的URL,便可以从本地将Data读入。有了Data之后,使用PropertyListSerialization的类方法propertyList():

将data读取出来,返回data的原始数据,本例中就是一开始传入的字典,最终将转换的结果打印到控制台。在使用属性列表时,需要注意几个事项:一般属性列表会从字典或是数组作为根容器开始存储数据;字典中的键必须是字符串,而值可以是字典、数组、字符串、数据、日期或数字等类的实例。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈