Я пытаюсь смоделировать следующие данные, чтобы они могли быть сохранены в CoreData
.
Поскольку он использует пользовательские классы, я не уверен, как правильно его смоделировать.
Каждый Account
имеет id
и profile
struct Account {
let id: String
let profile: UserProfile
}
Каждый профиль имеет свой собственный id
, name
, а также массив Post
struct UserProfile {
let id: String
let name: String
let posts: [Post]
}
Пост состоит из id
, authorId
, который соответствует идентификатору в профиле, а также title
struct Post {
let id: String
let authorId: String // this maps to the UserProfile id field
let title: String
}
У учетной записи может быть 1 профиль и наоборот. Профиль, однако, может иметь число N Posts
.
Я предполагал, что мне понадобятся 3 объекта: Account, UserProfile и Post.
Account и UserProfile будут иметь отношение один к одному.
Я не уверен, как моделировать UserProfile и Post.
Должен ли UserProfile иметь отношения один-ко-многим с Post?
Возможно ли для Post иметь отношение один-к-одному с UserProfile, а UserProfile имеет отношение один-ко-многим с Post?
Кроме того, я предполагаю, что CoreData не поддерживает Codable
, свойства profile
не должны существовать как Attribute
для Account
и вместо этого как значение в поле Relationships
вместо этого?