2012-04-23 3 views
-2

Я пытаюсь сделать приложение для викторины для iPhone. Я не совсем знаю, как это начать. Будут сотни вопросов, поэтому я не хочу создавать отдельный просмотр для каждого из них. В каком формате следует импортировать вопросы в приложение для чтения, а затем задавать вопросы в случайном порядке и по категориям (т. Е. Все вопросы сразу, только математические вопросы, только английские вопросы и т. Д.)?Building iPhone Quiz App

+0

Я недавно опубликовал свою недавно на http://www.iphonegamezone.net/ntqz/ - я также создаю пользовательские викторины. Пошлите меня, если вы все еще ищете решение или я могу помочь. Cheers, –

ответ

1

Будет сотни вопросов, поэтому я не хочу строить отдельный вид для каждого из них.

Конечно, нет. Подумайте о вопросах как о том, что приложение работает. Возможно, вам понадобится один вид для каждого формата вопроса, например. множественный выбор, короткий ответ, и т.д.

Какой формат должен импортировать вопросы в приложение, чтобы прочитать

Это полностью зависит от вас - это дизайнерское решение, поэтому выбрать что лучше работает для вы. Когда вы сталкиваетесь с произвольным решением, подобным этому, часто бывает хорошей идеей оставаться гибким. Например, вы можете решить поставить вопросы в текстовый файл, но разработайте свой код, чтобы легко было подключить код, который читает другой формат.

, а затем установить его, чтобы сделать вопросы в случайном порядке, а также по категориям (т.е. все вопросы сразу, только математические вопросы, только английские вопросы и т.д.)?

Похоже, что вы можете рассмотреть вопрос о хранении вопросов в какой-то базе данных. Затем вы можете запросить базу данных с различными критериями для получения разных наборов вопросов.

0

Вы можете сохранить вопросы, используя CoreData, а затем прочитать их из файла JSON или что-то подобное, когда приложение загружается в первый раз. Это также позволит вам обновить вопросы с помощью REST api в будущем.

Вы можете взглянуть на RestKit, который позаботился бы о большом разборе для вас.

После того, как у вас есть все вопросы, загруженные в вашу базу данных, все зависит от вас, но его довольно легко построить представление поверх CoreDate.

+0

, ваш ответ похож на одно из приложений, в которых я сейчас работаю. У меня есть json-файл, размещенный на моем веб-сайте, который содержит вопросы/ответы моего приложения Quiz. Проблема в том, что мое приложение слишком медленно читает прямо из URL-адреса. Я хочу сохранить весь json-файл в свое приложение, когда приложение запускается в первый раз, а затем читается внутри приложения. У меня нет больших знаний в основных данных, но я предполагаю, что это может решить мою проблему. Вы знаете какой-нибудь учебник об этом? – jeewan

+0

Если вы посмотрите на документацию RestKit, она покажет вам, как загрузить JSON в основные данные.После этого вы можете взглянуть на главное приложение, которое создается при запуске нового проекта. Он должен показать вам основы основных данных. Оттуда Apple имеет много документации. –

0

Я бы рекомендовал организовать ваши вопросы в базе данных, что-то вроде этого, например:

Questions Table 
QuestionID | Question       | Answer  | Category 
1   | What is 2 + 2      | 5   | math 
2   | What is the capital of Argentina? | Buenos Aires | geography 

Таким образом, это было бы просто использовать один вид и доступ к вопросам с SQL.

+0

Как настроить базу данных? Как и какую программу я могу использовать для этого? В настоящее время у меня есть все вопросы в RTF-файле. Я предполагаю, у меня есть область для неправильных ответов, а затем категория для правильной? – user717452

+0

Я уверен, что вы можете использовать простой текстовый редактор в RTF для автоматизации создания SQL-запросов 'INSERT'. Тогда было бы просто запустить команды против механизма базы данных. В Firefox есть расширение под названием [SQLite Manager] (https://addons.mozilla.org/en-US/firefox/addon/sqlite-manager/), которое будет хорошо работать для такого рода задач. – Louis

+0

Если вы не заинтересованы в том, чтобы идти по этому маршруту, возможно, вы могли бы просто оставить все свои вопросы в ОЗУ? – Louis