基本数据持久化:属性列表、归档与SQLite3
1. 属性列表持久化
属性列表持久化是一种简单的数据保存方式。以下是保存数据到属性列表的代码示例:
[array addObject:field1.text];
[array addObject:field2.text];
[array addObject:field3.text];
[array addObject:field4.text];
[array writeToFile:[self dataFilePath] atomically:YES];
上述代码创建了一个可变数组,将四个文本字段的内容添加到数组中,然后将数组内容写入属性列表文件。
当主视图加载完成时,程序会查找属性列表文件。若文件存在,就将数据复制到文本字段中。同时,程序会注册应用程序变为非活动状态(如退出或进入后台)的通知。当此情况发生时,程序会收集四个文本字段的值,存入可变数组,再将数组写入属性列表。
运行应用程序时,在模拟器中输入文本后,需按下主屏幕按钮(模拟器窗口底部的圆形按钮),而非直接退出模拟器,否则数据无法保存。
不过,属性列表持久化有一定局限性,只有一小部分对象可以存储在属性列表中。
2. 归档模型对象
在Cocoa世界中,归档是另一种序列化方式,任何对象都可实现。只要类中的每个属性是标量(如 int 或 float ),或者是符合 NSCoding 协议的类的实例,就可以完
超级会员免费看
订阅专栏 解锁全文
65

被折叠的 条评论
为什么被折叠?



