Модель управляемых объектов
По модели управляемых объектов Xcode генерирует класс Fugitive, который может использоваться в приложении, как любой другой класс. Выполните следующие действия, чтобы создать нужный нам класс.
Создайте новый класс управляемого объекта.
Выполните команду File—>New—»New File. В списке появляется новый тип добавляемых файлов — NSManaged Object Class. Выберите его и щелкните на кнопке Next.
После подтверждения местонахождения нового файла (iBountyHunter).
Сгенерируйте файлы .h и .т.
Щелкните на кнопке Create. В проект включаются файлы Fugitive.h и Fugitive.m. Перетащите их в группу /Supporting Files.
По модели управляемых объектов Xcode может сгенерировать класс Fugitive, который будет использоваться в приложении, как любой другой класс.
Выберите строку iBountyHunter.xcdatamodel и щелкните на сущности Fugitive.
Прежде чем приказывать Xcode сгенерировать класс, нужно выбрать одну из сущностей Core Data.
Создайте новый класс управляемого объекта.
Выполните команду File New New File. В списке появляется новый тип добавляемых файлов — NSManaged Object Class. Выберите его и щелкните на кнопке Next.
После подтверждения местонахождения нового файла (iBountyHunter).
Сгенерируйте файлы .h.
Щелкните на кнопке Create. В проект включаются файлы Fugitive.h и Fugitive.m. Перетащите их в группу /Supporting Files.
Сгенерированный класс Fugitive соответствует модели управляемых объектов Xcode создает для сущности Fugitive два новых файла: заголовочный файл Fugitive.h и файл реализации Fugitive.т. Откройте оба файла и просмотрите сгенерированный код.
Точно! 06 этом позаботится Core Data.
Класс Fugitive.m практически пуст, но вместо @synthesize новые свойства объявляются новой директивой @dynamic.
Кода тоже нет. И, наверное, об этом тоже не нужно беспокоиться?
NSManagedObject maloke реализует свойства.
Новая директива @dynamic сообщает компилятору, чтобы он не беспокоился о методах чтения и записи, необходимых для свойств. Тем не менее эти методы должны поступить из другого источника в противном случае в программе произойдет сбой, когда кто-нибдуь попытается обратиться к этим свойствам во время выполнения. Здесь на сцену выходит класс NSManagedObject. Помимо управления памятью полей, на базе которых создаются свойства, этот класс также предоставляет на стадии выполнения реализации методов чтения и записи. Реализация этих методов классом NSManagedObject открывает ряд дополнительных преимуществ, NSManagedObject знает, когда изменяются свойства, может проверять новые данные, а также оповещать другие классы об изменениях.
NSManagedObject может отложить получение информации свойств до того момента, когда кто-то их затребует. В частности, он поступает таким образом со связями с другими объектами.
- Дата: 31-12-2014, 23:04