Нативная разработка мобильных приложений


Определение и создание таблицы или хранимого объекта



Download 3,69 Mb.
Pdf ko'rish
bet91/228
Sana21.07.2022
Hajmi3,69 Mb.
#834838
1   ...   87   88   89   90   91   92   93   94   ...   228
Bog'liq
Нативная разработка мобильных приложений

Определение и создание таблицы или хранимого объекта
Объекты модели определяются в файле модели управляемых объектов, соз
-
данном в XCode. Чтобы добавить такой файл в существующий проект, найдите 
в меню пункт 
File > New > File
(Файл > Создать > Файл) и в разделе 
Core Data
вы
-
берите 
Data Model
(Модель данных). В качестве имени файла используйте имя, 
которое будет передаваться контейнеру хранилища на этапе инициализации.
Этот файл можно редактировать внутри Xcode. Чтобы создать новый управ
-
ляемый объект, щелкните на кнопке 
Add Entity
(Добавить объект). В описании 
вы увидите поля 
Attributes
(Атрибуты), 
Relationships
(Отношения) и 
Fetched 
Properties
(Извлекаемые свойства). Вы можете добавлять свойства в объекты, 
изменять имена объектов и связывать объекты с классами поддержки.
Отдельные свойства добавляются как атрибуты. Они соответствуют низко
-
уровневым типам данных в классах Swift, таким как 
String
и 
Int
, которые соз
-
даются (или предоставляются вручную) для каждого объекта в модели управ
-
ляемых объектов. Важно помнить, что модель управляемых объектов только 
описывает объекты и никак не взаимодействует с базой данных. По сути, она 
просто отображает код Swift в представление, понятное координатору храни
-
лища.
Чтобы добавить новый атрибут, щелкните на кнопке «+» в области 
Attributes
(Атрибуты) редактора. Если, к примеру, вы добавили свойство с именем 
title
и с типом 
String
в объект с именем 
MyEntity
, Xcode автоматически сгенерирует 
класс во время компиляции, скрытый от проекта Xcode, который будет выгля
-
деть примерно так:
import Foundation
import CoreData
@objc(MyEntity)
public class MyEntity: NSManagedObject {
}
extension MyEntity {
@nonobjc public class func fetchRequest() -> NSFetchRequest {
return NSFetchRequest(entityName: "MyEntity")
}


136

Хранение данных
@NSManaged public var title: String?
}
Сам класс наследует 
NSManagedObje
ct
и имеет имя 
MyEntity
, указанное в описа
-
нии объекта. Однако это не обязательно: класс, реализующий объект модели, 
может иметь имя, отличающееся от имени объекта в описании. Также обратите 
внимание на спецификатор 
@NSManaged
атрибута модели: он означает, что хра
-
нением этого свойства управляет Core Data. То есть это не обычное свойство, 
а хранимое. Фактически хранимые свойства поддерживают метод 
setValue
, ко
-
торый вызывается при любой попытке присвоить значение свойству.
Такая гибкость позволяет добавлять в управляемые объекты свойства, кото
-
рые не сохраняются в базе данных. По сути, это означает возможность опре
-
делять вычисляемые свойства, играющие вспомогательную роль и не исполь
-
зуемые для взаимодействия с базой данных. Например, можно определить 
управляемый объект с именем 
Person
с атрибутами 
firstName
и 
lastName
, храня
-
щимися в Core Data, и имеющий свойство 
fullName
, которое просто объединяет 
атрибуты 
firstName
и 
lastName
, не требуя дублирования данных в базе данных:
public class Person: NSManagedObject {
@NSManaged public var firstName: String
@NSManaged public var lastName: String
public var fullName: String {
return "\(firstName) \(lastName)"
}
}
Теперь перейдем к вопросу сохранения данных, используя в качестве при
-
мера наш управляемый объект 
Person
(после создания соответствующего опи
-
сания в модели управляемых объектов).

Download 3,69 Mb.

Do'stlaringiz bilan baham:
1   ...   87   88   89   90   91   92   93   94   ...   228




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish