Я пытаюсь реализовать кэш, используя CoreData
.
До этого момента я хранил простые модели, однако у меня есть модель ниже, которая содержит типы данных, такие как CodablePartialUser
и CodableFeedItemType
.
Как эти типы должны моделироваться в CoreData?
Должен ли я использовать тип Data
и сохранять их в формате данных?
Как CodableFeedItemType
- это перечисление. Должен ли я хранить исходное значение и снова конвертировать между форматами?
struct CodablePartialUser: Equatable, Codable {
let userID: String
let firstName: String
let lastName: String
init(userID: String, firstName: String, lastName: String) {
self.userID = userID
self.firstName = firstName
self.lastName = lastName
}
}
enum CodableFeedItemType: String, Codable {
case recognition = "RECOGNITION"
case news = "COMPANY_NEWS"
}
struct CodableFeedItem: Codable {
let id: String
let type: CodableFeedItemType
let createdDate: Date
let createdBy: CodablePartialUser
let likesCount: Int
let commentsCount: Int
let externalID: String
let title: String?
let imageURL: URL?
init(id: String, type: CodableFeedItemType, createdDate: Date, createdBy: CodablePartialUser, likesCount: Int, commentsCount: Int, externalID: String, title: String?, imageURL: URL?) {
self.id = id
self.type = type
self.createdDate = createdDate
self.createdBy = createdBy
self.likesCount = likesCount
self.commentsCount = commentsCount
self.externalID = externalID
self.title = title
self.imageURL = imageURL
}
}