我有一系列嵌套对象需要通过 NSCoding 协议,以便我可以将顶级对象保存到 NSUserDefaults 中。
这是对象的结构:
“导师”班
- NSMutableArray 包含...的实例
“类”类
- NSMutableArray 包含...的实例
“学生”班
- 名称属性
- Number 属性
- 金钱财产
我需要将 Instructor 的实例保存到 NSUserDefaults 或应用程序的文档中。如您所见, Instructor 对象持有一个数组,该数组随后持有一个类的实例。该类对象正在保存学生的实例。
NSCoding 协议是递归的吗?我的意思是,如果我将 NSCoding 协议添加到每个类,然后我可以保存一个 Instructor 对象,它会递归地对包含的对象进行编码?
那么它在解码时会以同样的方式工作吗?我可以只解码一个讲师课程,它会递归解码包含的对象,因为它们也符合 NSCoding 协议?
我该如何设置呢?