Приложения iOS
В приложении DrinkMixer данные приложения загружались из списка plist в ресурсном пакете приложения. Такое решение отлично работало, а данные загружались без проблем. Но вспомните, тогда же мы сказали, что оно работает только в Simulator. Пришло время с этим разобраться. По соображениям безопасности iOS приложения устанавливаются на устройство доступными только для чтения. Вы можете обращаться к любым ресурсам, упакованным с приложением, но не можете изменять их. Шаблон Core Data предполагает, что операция будет использоваться для чтения и записи, поэтому он даже не пытается проверять ресурсный пакет приложения. Вместо этого он проверяет каталог документов приложения.
Возможность чтения и записи определяется структурой приложения iPhone.
По соображениям безопасности и стабильности iOS весьма жестко ограничивает доступ к файловой системе. При установке приложения iOS создает на устройстве в каталоге /User/Applications подкаталог, имя которого представляет собой уникальный идентификатор. Приложение устанавливается в созданный каталог, в котором создается стандартная структура каталогов.
Использование каталога Documents для хранения пользовательских данных.
Так как в большинстве приложений Core Data необходимо как чтение, так и запись данных, шаблон настраивает Core Data на выполнение операций чтения/записи с каталогом Documents. Приложение определяет расположение своих локальных каталогов при помощи класса NSSearchPathForDirectories- InDomains по аналогии с тем, как поступает шаблон в делегате приложения.
Копирование базы данных в каталог Documents.
При запуске приложения необходимо проверить, хранится ли копия базы данных в каталоге Documents. Если базы данных там нет, значит, ее необходимо туда скопировать.
Удалите старую версию своего приложения из Simulator.
При этом будет удалена пустая база данных, созданная ранее подсистемой Core Data. При повторном построении и запуске новый код скопирует базу данных в правильный каталог.
Теперь приложение знает, где ему искать базу данных, и табличное представление заполняется успешно.
В построении детализированных представлений уже нет ничего нового для вас, так беритесь за дело! Ниже перечислены основные операции, которые вам предстоит выполнить для приведенного ранее эскиза детализированного представления.
Создайте новый контроллер представления и файл .xib с именем F ugitiveDetailViewCon troller.
Постройте в Interface Builder файл .xib со всеми необходимыми полями.
- Дата: 1-01-2015, 17:00