Способ импорта исходных данных с помощью coredata
Я сталкиваюсь с проблемой при импорте данных в приложение ios.
Данные хранятся с coredata. Я пытался импортировать данные с помощью кнопки. После щелчка данные, которые сначала сохраняются в текстовом файле в формате JSON, будут сохранены в файле sqllite.
Мой вопрос заключается в том, что импортировать такой объем данных очень медленно, и пользователю неудобно нажимать кнопку или ждать, чтобы импортировать исходные данные. Есть ли лучший способ импортировать данные?
Благодарю.
1 ответ
Это зависит. Например, вы можете просто импортировать данные в – applicationDidFinishLaunching:
или когда пользователь касается определенной кнопки.
В обоих случаях я бы импортировал данные в фоновом режиме. Это позволяет избежать зависания пользовательского интерфейса (если у вас много данных) и отображать своего рода индикатор прогресса. Может быть, пользователь будет более рад узнать, что происходит.
Чтобы импортировать данные в фоновом режиме, вы можете просто использовать новый API iOS 5 для Core Data или следовать учебному пособию Маркуса Зарры по импорту и отображению больших наборов данных в основных данных /.
Другой способ - начать с предварительно заполненной базы данных. Создайте фиктивный проект, в котором вы заполняете эту базу данных (вашим файлом JSON), а затем используете эту базу данных в своем реальном проекте приложения.
Надеюсь, это поможет.
редактировать
Не удобно импортировать данные при запуске приложения.
Почему бы и нет?
Поэтому я пытался поместить данные - файл базы данных в архив и отправить его в магазин приложений. Таким образом, мне было интересно, смогу ли я получить файл db во время теста, который завершает импорт данных, и исходные данные приемлемы. И поместите этот тестовый файл БД в архив и опубликуйте в магазине приложений. Таким образом, пользователю не нужно сначала импортировать данные. Просто используйте копию данных тестирования
Я не уверен, что понял здесь. Вот что я имею в виду с предварительной загрузкой и импортом существующих данных. Вам необходимо отправить файл db вместе с приложением, когда вы отправляете его в магазин приложений. Например, в каталоге приложения. Вы можете отправить его также в комплекте. Но в этом случае обратите внимание, поскольку файл db доступен только для чтения (вам нужно переместиться куда-нибудь еще, если вы хотите изменить).
Я предложил вам создать фиктивный проект, так как это мой личный способ сделать что-то, когда мне нужно создать преполутадную БД. Это позволяет вам поддерживать чистоту вашего проекта. Но вы также можете заполнить эту базу данных в вашем реальном проекте. Если вы последуете первому пути, вы можете просто переместить файл sql в каталог приложения для вашего приложения и сказать основным данным, чтобы прочитать это.