Swift - .plist文件数据的读取和存储
1
2
3
|
let array = NSArray (objects: "hangge.com" , "baidu.com" , "google.com" , "163.com" , "qq.com" ) let filePath: String = NSHomeDirectory () + "/Documents/webs.plist" array.writeToFile(filePath, atomically: true ) |
进入目录打开webs.plist,可以看到生成的数据如下:

1
2
3
4
5
6
7
8
9
10
11
|
<? xml version = "1.0" encoding = "UTF-8" ?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> < plist version = "1.0" > < array > < string >hangge.com</ string > < string >baidu.com</ string > < string >google.com</ string > < string >163.com</ string > < string >qq.com</ string > </ array > </ plist > |

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
import UIKit class ViewController : UIViewController , UITableViewDelegate , UITableViewDataSource { @IBOutlet weak var tableView: UITableView ! var webs: NSArray ? override func viewDidLoad() { super .viewDidLoad() webs = NSArray (contentsOfFile: NSHomeDirectory () + "/Documents/webs.plist" ) self .tableView!.delegate = self self .tableView!.dataSource = self //创建一个重用的单元格 self .tableView!.registerClass( UITableViewCell . self , forCellReuseIdentifier: "cell0" ) } func tableView(tableView: UITableView , numberOfRowsInSection section: Int ) -> Int { return webs!.count } func tableView(tableView: UITableView , cellForRowAtIndexPath indexPath: NSIndexPath ) -> UITableViewCell { let cell = tableView.dequeueReusableCellWithIdentifier( "cell0" , forIndexPath: indexPath) as UITableViewCell let url = webs![indexPath.row] as ! String cell.textLabel?.text = url return cell } override func didReceiveMemoryWarning() { super .didReceiveMemoryWarning() } } |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
let myArray = [ [ [ "name" : "航歌" , "url" : "hangge.com" ], [ "name" : "百度" , "url" : "baidu.com" ], [ "name" : "google" , "url" : "google.com" ] ], [ [ "name" : "163" , "url" : "163.com" ], [ "name" : "QQ" , "url" : "qq.com" ] ] ] //声明一个字典 let filePath: String = NSHomeDirectory () + "/Documents/webs.plist" NSArray (array: myArray).writeToFile(filePath, atomically: true ) print (filePath) |
进入目录打开webs.plist,可以看到生成的数据如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
<? xml version = "1.0" encoding = "UTF-8" ?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> < plist version = "1.0" > < array > < array > < dict > < key >name</ key > < string >航歌</ string > < key >url</ key > < string >hangge.com</ string > </ dict > < dict > < key >name</ key > < string >百度</ string > < key >url</ key > < string >baidu.com</ string > </ dict > < dict > < key >name</ key > < string >google</ string > < key >url</ key > < string >google.com</ string > </ dict > </ array > < array > < dict > < key >name</ key > < string >163</ string > < key >url</ key > < string >163.com</ string > </ dict > < dict > < key >name</ key > < string >QQ</ string > < key >url</ key > < string >qq.com</ string > </ dict > </ array > </ array > </ plist > |
下面把webs.plist文件中数据读取出来,并在表格里分区显示

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
import UIKit class ViewController : UIViewController , UITableViewDelegate , UITableViewDataSource { @IBOutlet weak var tableView: UITableView ! var webs: NSArray ? override func viewDidLoad() { super .viewDidLoad() webs = NSArray (contentsOfFile: NSHomeDirectory () + "/Documents/webs.plist" ) self .tableView!.delegate = self self .tableView!.dataSource = self //创建一个重用的单元格 self .tableView!.registerClass( UITableViewCell . self , forCellReuseIdentifier: "cell0" ) } // UITableViewDataSource协议中的方法,该方法的返回值决定指定分区的头部 func tableView(tableView: UITableView , titleForHeaderInSection section: Int )-> String ? { return " " ; } //在本例中,有2个分区 func numberOfSectionsInTableView(tableView: UITableView ) -> Int { return webs!.count; } //每个分区的记录数 func tableView(tableView: UITableView , numberOfRowsInSection section: Int ) -> Int { let data = self .webs?[section] return data!.count } //每个单元格创建和内容赋值 func tableView(tableView: UITableView , cellForRowAtIndexPath indexPath: NSIndexPath ) -> UITableViewCell { let cell = UITableViewCell (style: UITableViewCellStyle . Value1 , reuseIdentifier: "cell0" ) let data = self .webs?[indexPath.section] let url = data![indexPath.row][ "url" ] as ! String let name = data![indexPath.row][ "name" ] as ! String cell.textLabel?.text = name cell.detailTextLabel?.text = url return cell } override func didReceiveMemoryWarning() { super .didReceiveMemoryWarning() } } |
原文出自:www.hangge.com 转载请保留原文链接:http://www.hangge.com/blog/cache/detail_888.html
Swift - .plist文件数据的读取和存储的更多相关文章
- CSV文件数据如何读取、导入、导出到新的CSV文件中以及CSV文件的创建
CSV文件数据如何读取.导入.导出到新的CSV文件中以及CSV文件的创建 一.csv文件的创建 (1)新建一个文本文档: 打开新建文本文档,进行编辑. 注意:关键字与关键字之间用英文半角逗号隔开.第一 ...
- C语言进行csv文件数据的读取
C语言进行csv文件数据的读取: #include <stdio.h> #include <string.h> #include <malloc.h> #inclu ...
- HDF 文件数据的读取
http://www.cams.cma.gov.cn/cams_973/cheres_docs/cheres_doc_sat.modis.1b.html一. HDF文件格式 1.概述 HDF 是美国国 ...
- Python之TensorFlow的数据的读取与存储-2
一.我们都知道Python由于GIL的原因导致多线程并不是真正意义上的多线程.但是TensorFlow在做多线程使用的时候是吧GIL锁放开了的.所以TensorFlow是真正意义上的多线程.这里我们主 ...
- 加载plist文件数据的方法
这个pilist文件最外面的是一个数组,数组中每一个item是一个字典,我们的目的就是为了取到每一个item字典中的内容数据 下面看代码举例 //加载数组 - (void)handleData { / ...
- linux使用shell 进行文件数据的读取与排序
题目 shell脚本语言编写一个从键盘输入10名学生(含自己)的姓名. 性别.学号和家庭住址,然后按照学号排序,并将排序后的结果在屏幕上按对齐 的方式打印输出的程序. 代码 读入数据 数据排序(这里用 ...
- ios本地文件内容读取,.json .plist 文件读写
ios本地文件内容读取,.json .plist 文件读写 本地文件.json .plist文件是较为常用的存储本地数据的文件,对这些文件的操作也是一种常用的基础. 本文同时提供初始化变量的比较标准的 ...
- 黑马程序员——读取Plist文件
-iOS培训,iOS学习-------型技术博客.期待与您交流!------------ 读取Plist文件 一:新建一个plist文件,并将plist文件数据填入plist文件中,这里pli ...
- Pandas_数据读取与存储数据(全面但不精炼)
Pandas 读取和存储数据 目录 读取 csv数据 读取 txt数据 存储 csv 和 txt 文件 读取和存储 json数据 读取和存储 excel数据 一道练习题 参考 Numpy基础(全) P ...
随机推荐
- Node.js学习笔记1(简介)
1.什么是Node.js? Node.js,或者 Node,是一个可以让 JavaScript 运行在服务器端的平台.它可以让 JavaScript 脱离浏览器的束缚运 ...
- C语言选择法排序
#include <stdio.h> int main() { int i, j, p, n, q; ] = {, , , , }; //对无序数组进行排序 ; i<; i++) { ...
- 导出Excel并下载,但无法定制样式的方法!
拿来的,望原创见谅! public void EXCELDown(DataTable dt, string strFileName) { Response.ContentEncoding = Syst ...
- cmake 学习笔记(六)
希望这是现阶段阻碍阅读shiboken和PySide源码的涉及cmake的最后一个障碍 ^ _^ 学习 cmake 的单元测试部分 ctest. 简单使用 最简单的使用ctest的方法,就是在 CMa ...
- OpenSSL命令---rand
用途: 用来产生伪随机字节.随机数字产生器需要一个seed,先已经说过了,在没有/dev/srandom系统下的解决方法是自己做一个~/.rnd文件.如果该程序能让随机数字产生器很满意的被seeded ...
- PHP学习笔记8-文件操作
在data文件中写入数据: <?php /** * Created by PhpStorm. * User: Administrator * Date: 2015/6/29 * Time: 17 ...
- Java -- WeakHashMap
一.引言 Java中的引用类型由四种情况,强引用.软引用.弱引用.虚引用.关于这些的介绍可以参见鄙人另外一篇博文. ...
- mvc导航配置
<?xml version="1.0" encoding="utf-8" ?><Configuration> <Navigatio ...
- ASP.NET MVC 5 学习教程:创建连接字符串
原文 ASP.NET MVC 5 学习教程:创建连接字符串 起飞网 ASP.NET MVC 5 学习教程目录: 添加控制器 添加视图 修改视图和布局页 控制器传递数据给视图 添加模型 创建连接字符串 ...
- paip.输入法编程---输入法ATIaN历史记录 c823
paip.输入法编程---输入法ATIaN历史记录 c823 作者Attilax , EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog.csd ...