Cocoa开发:菜单应用功能拓展与多文档架构解析
在Cocoa应用开发中,数据的持久化、格式化显示以及表格排序等功能是常见需求。同时,多文档架构也是许多应用的基础,它能帮助开发者轻松实现多文档处理。下面将详细介绍如何在菜单应用中实现这些功能,并深入解析Cocoa的多文档架构。
1. 数据保存:编码与归档
几乎所有应用都需要让部分对象持久化,也就是要有保存数据的方法。例如,菜单应用若不保存数据模型状态,退出应用后所有更改都会丢失。Cocoa应用通常使用编码(coding)和归档(archiving)将文档内容和其他关键应用数据存储到磁盘,以便后续检索,部分应用还会用此方法通过网络发送对象。
编码由 NSCoder 类实现,它会对一组相关对象(如示例应用中的食品项数组,即对象图)进行序列化,在序列化过程中捕获对象的状态、结构、关系和类成员信息。要进行序列化,对象必须遵循 NSCoding 协议,该协议包含 encodeWithCoder: 和 initWithCoder: 两个方法。
归档由 NSArchiver 类(继承自 NSCoder )实现,它会将序列化后的数据存储到文件中。
1.1 为菜单应用添加编码和归档功能
为了演示如何归档对象,我们将修改菜单应用,使其能保存和加载包含食品项列表的文件。具体步骤如下:
1. 在Project Builder中打开 FoodItem.h 文件,修改
Cocoa多文档架构与数据持久化
超级会员免费看
订阅专栏 解锁全文
9

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



