Я борюсь с изучением Core Data, и мне было интересно, можно ли вообще сохранить структуру, соответствующую протоколу Codable, в Core Data?По сути, есть основная структура, называемая «Истории», которая также связана с другими структурами.
Базовая структура моей модели:
class GetStories : Codable {
typealias NetworkResponse = (Data?, Error?)->Void
typealias ReadyToSave = ()->Void
typealias RefreshTableView = ()->Void
// MARK: - Instance variables
var dataReturnedByServer : Data?
var stories : Stories?
var delegate: GetStoriesDelegate? // the delegate stops becoming nil when you assign it as the delegate for ViewController.swift
var coverImages : [UIImage]?
// MARK: - Structs
struct Stories : Codable {
let userStories : [Story]
let nextURL : URL
enum CodingKeys: String, CodingKey {
case userStories = "stories"
case nextURL = "nextUrl"
}
}
struct User : Codable {
let userName : String
let userAvatar : String
let userFullName : String
enum CodingKeys : String, CodingKey{
case userName = "name"
case userAvatar = "avatar"
case userFullName = "fullname"
}
}
struct Story : Codable {
let storyID : String
let storyTitle : String
let storyUser : User
let storyCoverImageURL : String
enum CodingKeys : String, CodingKey{
case storyID = "id"
case storyTitle = "title"
case storyUser = "user"
case storyCoverImageURL = "cover"
}
}
... и затем есть некоторые другие функции.
Из того, что я прочитал, структуру необходимо преобразовать в сами классы, чтобы они могли наследоваться от NSManagedObject.Это лучшее решение для использования Core Data для сохранения структуры "Stories"?