У меня есть опыт написания кода для Android, но я новичок в iOS. Я решил, что хороший способ изучить это - создать приложение для Android, а затем перенести его на iOS. Вместо того, чтобы иметь полноценное приложение для Android и изучать, что его будет нелегко переносить, я решил портировать каждую часть по мере ее написания.

Я начал с создания базы данных Android SQLite после того, как узнал, что в iOS также есть SQLite, думая, что это будет легкое место, где можно намочить ноги.

Я искал, как перенести код Android, который я написал, но там написано очень мало, что я могу найти. Кажется более распространенным перенос в другом направлении. Что еще хуже, похоже, что на SQLite отсутствует документация iOS, поскольку везде, где я обращаюсь, предлагается нечто под названием CoreData.

У меня уже есть все операторы SQL в контракте, включая все определения и индексы таблиц SQL, и перенес их на C. Однако я не нахожу никаких примеров использования контракта на iOS.

Есть ли документация по этому поводу или пример? Если нет, я что-то не понял?

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

Спасибо.

0
Mitch 19 Мар 2014 в 02:57

3 ответа

Лучший ответ

Посмотрите на FMDB. Это оболочка Objective-C для SQLite. Он имеет простой синтаксис, аналогичный SQLiteDatabase в Android. Насколько я знаю, нет ничего похожего на контракт Android на разработку iOS. Попробуйте использовать FMDatabaseQueue из FMDB. Это позволяет получить доступ к базе данных поточно-ориентированным способом.

P.S. CoreData - это ORM для iOS и OS X. Если у вас есть контракты с Android, их гораздо проще перенести на iOS с помощью FMDB.

1
Oleksii Kuchma 18 Мар 2014 в 23:09

Core Data имеет свою собственную структуру данных, вы можете посмотреть на нее и увидеть что-то вроде этого:

Введите описание изображения здесь

Таблицы из вашей модели имеют префикс Z, поэтому вы можете отлично запрашивать эту базу данных SQLite с помощью SQL-запросов в Android.

Примечание: вы можете найти этот файл SQLite после запуска вашего приложения с Simulator в папке:

/Users/<you_name>/Library/Application Support/iPhone Simulator/<ios_version>/Applications/<app_id>/Documents/<app_name>.sqlite
0
Donald Duck 22 Фев 2017 в 12:00

Если у вас уже есть файл базы данных SQLite 3, вы можете буквально перетащить (или загрузить по сети) указанную базу данных в свое приложение iOS и управлять ею с помощью LabQLite, который может служить ORM между Objective-C / Swift и SQLite.

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

Настройка приложения iOS с помощью LabQLite и моделей из генератора должна быть довольно быстрой.

Отказ от ответственности: я разработал оба этих продукта.

0
Community 20 Июн 2020 в 09:12