Я пишу приложение для викторины для iPhone, используя базовые подклассы NSObject
для представления моделей. Во время выполнения различные контроллеры создают экземпляры классов модели и заполняют их данными, считанными из списка на диске.
Классы модели представляют базовую иерархию теста с множественным выбором:
- У одного приложения есть много тестов
- В одной викторине много вопросов
- Один вопрос имеет много ответов
В настоящее время, когда класс QuizController
загружает свой объект Quiz
, он заполняет свое свойство questions
NSArray
экземплярами Question
, и, поскольку каждый из этих экземпляров Question
инициализируется, каждый из них инициализирует свои собственные NSArray
с Answer
экземпляров.
Я понимаю, что мне не нужны все вопросы в памяти при загрузке теста, мне нужен только вопрос с определенным индексом в массиве Quiz
экземпляра questions
.
Я думаю, что какой-то протокол dataSource или шаблон отложенной загрузки поможет уменьшить объем памяти, возникающий при загрузке какого-либо конкретного теста в этой системе, но я не уверен, как его реализовать. Буду очень признателен за любые предложения сообщества по поводу
Какой шаблон будет уместно использовать здесь? Короткий фрагмент кода также был бы очень полезен для меня, чтобы понять, как я мог бы начать реализовывать его.