16、Cocoa开发:菜单应用功能拓展与多文档架构解析

Cocoa多文档架构与数据持久化

Cocoa开发:菜单应用功能拓展与多文档架构解析

在Cocoa应用开发中,数据的持久化、格式化显示以及表格排序等功能是常见需求。同时,多文档架构也是许多应用的基础,它能帮助开发者轻松实现多文档处理。下面将详细介绍如何在菜单应用中实现这些功能,并深入解析Cocoa的多文档架构。

1. 数据保存:编码与归档

几乎所有应用都需要让部分对象持久化,也就是要有保存数据的方法。例如,菜单应用若不保存数据模型状态,退出应用后所有更改都会丢失。Cocoa应用通常使用编码(coding)和归档(archiving)将文档内容和其他关键应用数据存储到磁盘,以便后续检索,部分应用还会用此方法通过网络发送对象。

编码由 NSCoder 类实现,它会对一组相关对象(如示例应用中的食品项数组,即对象图)进行序列化,在序列化过程中捕获对象的状态、结构、关系和类成员信息。要进行序列化,对象必须遵循 NSCoding 协议,该协议包含 encodeWithCoder: initWithCoder: 两个方法。

归档由 NSArchiver 类(继承自 NSCoder )实现,它会将序列化后的数据存储到文件中。

1.1 为菜单应用添加编码和归档功能

为了演示如何归档对象,我们将修改菜单应用,使其能保存和加载包含食品项列表的文件。具体步骤如下:
1. 在Project Builder中打开 FoodItem.h 文件,修改

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值