В седьмой части серии скриншотов «Начало разработки iOS» мы рассмотрим постоянство данных в приложениях для iOS. Скринкаст включает краткий обзор основных методов хранения, которые вы можете использовать в приложении для iOS, а также плюсы и минусы каждого метода. После основного описания четыре реализованных метода хранения данных объяснены подробно.
Как упоминалось в скринкасте, в этом демонстрационном приложении реализованы все четыре метода хранения данных. Если вы хотите внедрить один из них в свое собственное приложение, используйте демонстрационное приложение, приведенное только в качестве руководства.
Проблемы с просмотром видео выше? Загрузите полную качественную версию в формате MOV .
Дальнейшая информация
Списки недвижимости
Документы Списка свойств представляют собой архивированное дерево объектов. Список свойств содержит корневой элемент, который является NSDictionary или NSArray. Внутри корневого элемента находятся архивные данные. Классы, которые могут быть заархивированы в список свойств: NSString, NSNumber, NSData, NSDate, NSArray и NSDictionary. Предоставление любых других объектов для архивирования в виде списка свойств не приведет к записи файла. Распространенной ошибкой является присвоение объекта Boolean или Integer одному из элементов в NSArray или NSDictionary. Для хранения логического или целого числа используйте класс NSNumber.
SQLite
Как уже упоминалось, использование библиотеки SQLite C может оказаться непростым делом с первого взгляда, так как оно очень специфично для типов аргументов, данных функциям. Важно помнить различия при передаче строк и аргументов, необходимых для этих функций.
Если вы хотите обойти библиотеку C, есть несколько оболочек Objective-C, написанных для использования SQLite на iOS. FMDB — это одна конкретная оболочка, которую вы можете включить в свой проект Xcode, чтобы избежать использования библиотеки C.
Посев
SQLite работает из одного файла. Когда приложение запускается в первый раз, вам нужно будет запустить процесс создания файла, чтобы сделать файл SQLite доступным. В реализации скринкаста создается новая пустая база данных SQLite и выполняется SQL для настройки первой таблицы. Однако вы можете захотеть иметь базу данных, в которой уже есть данные. Для этого вы создаете файл SQLite со вставленной схемой таблицы и необходимыми данными, а затем включаете этот файл в проект Xcode. В процессе инициализации базы данных вы можете скопировать начальный файл SQLite из вашего комплекта ресурсов в каталог документов вашего приложения.
Справочник по командам 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 .
Пользовательские настройки по умолчанию (NSUserDefaults)
Этот метод отличается от других 3 в скринкасте. Он не используется для хранения коллекций данных, как продемонстрировано в трех других реализациях. Информация, хранящаяся в этом методе, должна быть ограничена изменяемыми пользователем настройками и параметрами.
Хранение информации аутентификации пользователя
При хранении имен пользователей и паролей лучше использовать сервис Keychain, доступный в iOS. Цепочка для ключей является защищенным носителем для безопасного и зашифрованного хранения информации об аутентификации пользователя на устройстве. Для получения дополнительной информации о связке ключей обратитесь к Руководству по программированию служб связки ключей в документации Apple.
Спасибо за просмотр этого скринкаста. Если у вас есть дополнительные вопросы, пожалуйста, оставьте комментарий ниже.