[Xcode 实际操作]七、文件与数据-(8 )读取和解析Plist文件(属性列表文件)
本文将演示如何读取和解析Plist文件,即属性列表文件。
它是用来存储,串行化后的对象的文件。
在项目名称上点击鼠标右键,弹出右键菜单,
选择【New File】新建文件命令,创建一份属性列表文件。
在弹出的模板选项窗口中,点击右侧的垂直滚动条,跳转到【Resource】资源文件的模板列表。
然后选择【Property List】属性列表文件->【Next】
->在存储为输入框内,输入属性列表文件的名称,
【Save As】:DemoPlist.plist
->然后点击创建【Create】按钮,确认属性列表文件的创建
->在属性列表文件的编辑区,点击鼠标右键,添加一行新的属性。
->【Add Row】在弹出的功能列表中,选择添加行选项。
->在键名输入框内,输入属性的名称,【name】
->接着编辑键名对应的属性的值。
在键值输入框内,输入属性的值:【Peter】
在空白处点击,完成键值的输入。
->【+】点击加号图标,继续添加一行属性。
->使用同样的方法,输入新的键名【age】
->接着编辑键名对应的属性的值。
在键值输入框内,输入属性的值:【28】
【Command】+【S】保存编辑后的属性列表文件
在项目导航区,打开视图控制器的代码文件【ViewController.swift】
1 import UIKit 2 3 class ViewController: UIViewController { 4 5 override func viewDidLoad() { 6 super.viewDidLoad() 7 // Do any additional setup after loading the view, typically from a nib. 8 //获取属性列表文件在项目中的路径。 9 let plistPath = Bundle.main.path(forResource: "DemoPlist", ofType: "plist") 10 //加载属性列表文件,并存入一个不可变字典对象中。 11 let data = NSMutableDictionary.init(contentsOfFile: plistPath!)! 12 //将字典对象,转换为字符串对象 13 let message = data.description 14 //获得字典中姓名键的值 15 let name = data["name"] 16 //获得字典中年龄键的值 17 let age = data["age"] 18 19 //在控制台打印输出,属性列表文件中的各项键值。 20 print(message) 21 print(name ?? "") 22 print(age ?? "") 23 } 24 25 override func didReceiveMemoryWarning() { 26 super.didReceiveMemoryWarning() 27 // Dispose of any resources that can be recreated. 28 } 29 }