Статьи

Начало разработки iOS: постоянство данных

В седьмой части серии скриншотов «Начало разработки iOS» мы рассмотрим постоянство данных в приложениях для iOS. Скринкаст включает краткий обзор основных методов хранения, которые вы можете использовать в приложении для iOS, а также плюсы и минусы каждого метода. После основного описания четыре реализованных метода хранения данных объяснены подробно.

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

Проблемы с просмотром видео выше? Загрузите полную качественную версию в формате MOV .

Документы Списка свойств представляют собой архивированное дерево объектов. Список свойств содержит корневой элемент, который является NSDictionary или NSArray. Внутри корневого элемента находятся архивные данные. Классы, которые могут быть заархивированы в список свойств: NSString, NSNumber, NSData, NSDate, NSArray и NSDictionary. Предоставление любых других объектов для архивирования в виде списка свойств не приведет к записи файла. Распространенной ошибкой является присвоение объекта Boolean или Integer одному из элементов в NSArray или NSDictionary. Для хранения логического или целого числа используйте класс NSNumber.

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

Если вы хотите обойти библиотеку C, есть несколько оболочек Objective-C, написанных для использования SQLite на iOS. FMDB — это одна конкретная оболочка, которую вы можете включить в свой проект Xcode, чтобы избежать использования библиотеки C.

SQLite работает из одного файла. Когда приложение запускается в первый раз, вам нужно будет запустить процесс создания файла, чтобы сделать файл SQLite доступным. В реализации скринкаста создается новая пустая база данных SQLite и выполняется SQL для настройки первой таблицы. Однако вы можете захотеть иметь базу данных, в которой уже есть данные. Для этого вы создаете файл SQLite со вставленной схемой таблицы и необходимыми данными, а затем включаете этот файл в проект Xcode. В процессе инициализации базы данных вы можете скопировать начальный файл SQLite из вашего комплекта ресурсов в каталог документов вашего приложения.

Для получения дополнительной информации о функциях, доступных в библиотеке SQLite, перейдите в Список функций интерфейса SQLite C.

При реализации Core Data важно не забывать создавать свой проект XCode с установленной опцией «Использовать Core Data for storage». Эта опция создаст некоторые обязательные свойства и методы в вашем Application Delegate, а также включит платформу Core Data в ваш проект.

Базовые данные по умолчанию используют SQLite в качестве основной базы данных в вашем приложении. Инфраструктура Core Data в iOS допускает 2 разных типа хранения базы данных, и по умолчанию это SQLite.

Если вы хотите получить более подробное руководство по использованию Core Data в первый раз, ознакомьтесь со статьей Первые шаги с Core Data .

Этот метод отличается от других 3 в скринкасте. Он не используется для хранения коллекций данных, как продемонстрировано в трех других реализациях. Информация, хранящаяся в этом методе, должна быть ограничена изменяемыми пользователем настройками и параметрами.

При хранении имен пользователей и паролей лучше использовать сервис Keychain, доступный в iOS. Цепочка для ключей является защищенным носителем для безопасного и зашифрованного хранения информации об аутентификации пользователя на устройстве. Для получения дополнительной информации о связке ключей обратитесь к Руководству по программированию служб связки ключей в документации Apple.

Спасибо за просмотр этого скринкаста. Если у вас есть дополнительные вопросы, пожалуйста, оставьте комментарий ниже.