Я могу успешно отобразить JSON для пользователя, теперь я могу sh, чтобы иметь возможность отображать эту же информацию пользователям, которые перезагружают мое приложение, но находятся в автономном режиме. Я прочитал несколько руководств по coreData, но не могу найти правильные ответы на следующие вопросы:
- Должен ли объект coredata иметь то же количество атрибутов, что и JSON, который он представляет есть ключи?
- Если у моего JSON есть ключ, который представляет ключевое слово в coreData (например:
description
, который заставляет меня называть этот атрибут чем-то другим), как мне связать это обратно? к моей базовой модели? - Как я могу представить собственный массив, созданный в моей модели в моей сущности coredata?
Для справки, у меня нижеприведенная модель основана на моем JSON. Единственные ключи, которые я на самом деле использую в своем приложении, это description
, list_price
, images
& title
.
struct Item: Codable {
let id: String
let title: String
let description: String
let listPrice: String
let ageRestricted: Bool
let volume: Int?
let createdAt: String
let attributes: [Attributes]
let images: Images
enum CodingKeys: String, CodingKey {
case id
case title
case description
case listPrice = "list_price"
case ageRestricted = "age_restricted"
case volume
case createdAt = "created_at"
case attributes
case images
}
}
struct Attributes: Codable {
let id: String
let title: String
}
struct Images: Codable {
let theSize: TheSize?
enum CodingKeys: String, CodingKey {
case theSize = "300"
}
}
struct theSize: Codable {
let src: String
let url: String
let width: Int
}