Почему NSManagedObject и NSEntityDescription являются отдельными классами? - PullRequest
5 голосов
/ 30 марта 2011

Кажется, что объект NSEntityDescription описывает данные, а объект NSManagedObject содержит соответствующие данные.Если у вас обычный подкласс NSObject, описание данных и фактические данные находятся в одном месте, не так ли.Ну, по крайней мере, описание в классе, а данные в объекте.Вы можете рассматривать объект как описание вида переменных, которые он содержит.

Почему тогда Core Data разделяет класс, который описывает данные, и класс, который содержит данные?Это связано с неисправностью?

1 Ответ

5 голосов
/ 30 марта 2011

Если у вас нормальный подкласс NSObject, описание данных и фактические данные находятся в одном месте, не так ли.

Нет. Класс - это описание объекта, а экземпляр - это объект (включая его данные.

Почему тогда Core Data разделяет класс, который описывает данные, и класс, который содержит данные? Это связано с неисправностью?

Нет, это потому, что описание модели по сути отличается от создания данных, соответствующих модели. Это стандартная вещь в вычислениях, например для базы данных SQL описание данных (DDL) не является данными (фактическая база данных). В XML описание (схема или DTD) не является фактическими данными XML.

...