IPhone: Какова лучшая практика для создания приложения, которое показывает 50 объективных вопросов по одному - PullRequest
1 голос
/ 11 марта 2011

IPhone: Какая лучшая практика для создания приложения, которое показывает 50 объективных вопросов один за другим.Конец тестового пользователя должен видеть счет в пользовательском интерфейсе.Для хранения вопросов я использую SQLLite DB, храню все мои вопросы в таблице и извлекаю / храню локально в NSMutable Array.Теперь я понятия не имею, как перемещаться между вопросами «Один за другим». Я думаю, что навигация по интерфейсу - это то, что мне нужно, но я озадачен тем, как использовать представление навигации по интерфейсу, чтобы отображать вопрос один за другим, пожалуйста, исправьте меня, если я ошибаюсь.

Ответы [ 2 ]

1 голос
/ 11 марта 2011

Самым простым способом является, вероятно, UINavigationController с UIViewController для каждого вопроса. Проблема в том, что у вас есть 50 элементов, которые должны быть показаны, и, вероятно, это слишком много (потому что вы наверняка получаете как минимум предупреждения памяти)

Чтобы избежать предупреждений памяти и сделать это эффективно, вы хотите реализовать стековую структуру с 3 представлениями. Например, представления будут A, B и C.

...C←→A←→B←→C←→A...

Например, вы в B, затем вы хотите перейти к предыдущему (левому) вопросу, сохранить текущее состояние вопроса, загрузить в A и его состоянии предыдущее представление и показать его. Теперь следующий и предыдущий вопросы будут загружены в представлениях B и C соответственно. Не сложно, верно?

Вы можете смоделировать эту структуру с помощью UINavigationController и 3 UIViewController, каждый UIViewController должен иметь возможность загружать и сохранять вопрос с его состоянием непосредственно перед тем, как появляться и исчезать.

Вы можете программно перемещаться с помощью следующих методов из UINavigationController и получать анимированные переходы бесплатно;)

– pushViewController:animated:
– popViewControllerAnimated:

Надеюсь, это поможет

1 голос
/ 11 марта 2011

Я недавно создал подобное приложение для клиента.Моя стратегия заключалась в том, чтобы иметь IntroViewController, QuestionViewController и ScoreViewController.

В QuestionViewController размещался подкласс UIControl, который я создал для визуализации объекта Question.QuestionViewController взаимодействует с объектом TestManager, чтобы получить список вопросов, он отвечает на входные данные из подкласса UIControl, а затем назначает новый вопрос для UIControl.

Моя стратегия поддерживает низкий уровень памяти, избегая создания огромного стекаконтроллеров зрения.Я использовал CATransitions, чтобы дать пользователю ощущение новых экранов для каждого вопроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...