Какая база данных предпочтительнее для разработки приложений iOS и как реализовать поиск?

В течение последних 2 недель я читал и изучал, как создать приложение для iPhone, используя эти книги: Начало разработки iOS 6, Storyboarding, а также использование и обучение Цель C. Я проходил учебные онлайн-курсы и через эти книги но не смогли найти то, что я ищу.

Я создаю простое приложение, которое представляет собой список животных, которые будут доступны для поиска, а затем, когда вы нажимаете на отдельное животное, он показывает информацию об этом (имя, изображение, вес и собственное местоположение). Я хотел бы иметь возможность искать через общее название или его вид, и пользователь сможет выбрать животное и прочитать информацию об этом. Нет добавления новых животных или редактирования списка. Затем я хотел бы иметь возможность сортировать по континенту. Так, например, первая сцена будет иметь Животное как одну ячейку, а Континенты - в другой. Если они нажмут "Животные", он вытащит всех животных и откроет UISearchbar для поиска всех животных, на которые они могут перейти. Если они нажмут континент (Австралия), он будет заполнять список, доступный только для поиска, только в этом месте.

Мой вопрос: как мне создать базу данных, которая связывает эти переменные вместе, а затем сможет выполнять поиск через панель поиска (plist, core data, sqlite)? Какой ресурс я должен использовать для учебного инструмента или учебника?

Ответ 1

Лучший выбор зависит от количества и сложности данных. Если у вас есть только несколько сотен животных с несколькими атрибутами на одного животного, то все данные в plist и загрузка всех данных в память прекрасны.

Если у вас больше данных с большими заметками и другими атрибутами, возможно, вы не сможете загрузить все данные в память. Тогда использование SQLite было бы лучшим вариантом.

Основные данные - это еще один вариант, но он имеет самую большую кривую обучения и может быть излишним для таких простых данных. Основные данные были бы хорошим выбором: данные не были доступны только для чтения, если у вас было больше отношений, и вы хотели синхронизировать пользовательские данные между устройствами.

Ответ 2

Хорошо, что вы читаете все эти вещи. Я постараюсь создать для вас ответ "ошалелый".

Вы спрашиваете о базе данных. Это означает для вас, где я храню данные. Apple и большинство технических людей говорят об этом со словами "Стойкость" или где я сохраняю данные.

Три обычно используемых (но я не исключительных) метода хранения:

(1) в текстовом файле, известном как файл plist
(2) в текстовом файле в формате xml и
(3) в файле sqlite или файле базы данных

Как мне получить доступ к этим данным?

Затем вы узнаете о CoreData, CoreData был представлен Apple, чтобы упростить доступ к вашим сохраненным данным, а также помочь небольшим устройствам обрабатывать большие объемы данных. Приобретение базы данных Sqlite без coredata требует некоторой работы, но из-за CoreData они делают это проще.

Что касается xml и plist, к ним можно получить доступ, просто прочитав файл в Array или Dictionary, а затем вы либо будете искать, либо показывать данные с этих объектов, как обычно.

(одна вещь о идее данных sqlite/core заключается в том, что при настройке CoreData вы можете настроить базу данных sqlite или она может быть в формате xml.)

Как только вы узнаете эти две вещи, вы можете смешивать и сопоставлять, основываясь на том, что необходимо для вашей цели. Если у вас большой объем данных и многое с ним связано, то файл sqilte с доступом CoreData будет хорошим выбором. Если это очень небольшой объем информации, вы можете использовать простой файл plist и использовать объект Array или Dictionary, чтобы получить информацию, использовать ее и затем сохранить ее снова в файле.

В вашем случае это звучит, как простой plist будет работать.

Ответ 3

Основные данные часто используются в качестве предпочтительной технологии баз данных iOS, и если вы хотите немного узнать о базах данных в iOS, вам, вероятно, следует просто начать там. Используйте свою любимую поисковую систему и найдите "Core Data Tutorial". Рэй Вендерлих часто делает хорошую работу в своих учебниках, и вам обязательно нужно проверить ссылки Apple (найдены видео и различные документы "Начало работы" на http://developer.apple.com). Пройдите через учебное пособие или два, прежде чем рассматривать публикацию последующих вопросов о переполнении стека.