我正在为 iPhone 编写一个测验应用程序,使用基本NSObject
子类来表示模型。在运行时,各种控制器实例化模型类并使用从磁盘上的 plist 读取的数据填充它们。
模型类代表多项选择测验的基本层次结构:
- 一个应用程序有许多测验
- 一个测验有很多问题
- 一个问题有很多答案
目前,当QuizController
类加载它的Quiz
对象时,它会用实例填充它的questions
NSArray
属性Question
,并且随着每个Question
实例的初始化,它们每个都会初始化它们自己NSArray
的Answer
实例。
我认识到,当我加载测验时,我不需要内存中的每个问题,我只需要Quiz
实例questions
数组中某个索引处的问题。
我认为某种数据源协议或延迟加载模式将有助于减少在该系统上加载任何特定测验时产生的内存占用,但我不确定如何实现。我非常感谢社区在以下方面提出的任何建议:
什么模式适合在这里使用?一个简短的代码片段对我理解如何开始实现它也很有帮助。