я создал постоянный слой данных в структуре в соответствии с этим руководством , но мне также нужно создать некоторый объект области со структурой и добавить его к другому объекту области в структуре, например массиву. Я имею в виду что-то подобное:
public struct Publisher {
public let identifier: Int
public let name: String
}
public struct Character {
public let identifier: Int
public let name: String
public let realName: String
var publisherArray: [Publisher]
}
final class PublisherObject: Object {
dynamic var identifier = 0
dynamic var name = ""
override static func primaryKey() -> String? {
return "identifier"
}
}
final class CharacterObject: Object {
dynamic var identifier = 0
dynamic var name = ""
dynamic var realName = ""
var publisherArray: List<PublisherObject>?
override static func primaryKey() -> String? {
return "identifier"
}
}
В приведенном выше руководстве автор добавил в структуру только одну структуру, а не массив
Я дошел до этой точки:
extension Character: Persistable {
public init(managedObject: CharacterObject) {
identifier = managedObject.identifier
name = managedObject.name
realName = managedObject.realName
publisherArray = managedObject.publisherArray
.compactMap(Publisher.init(managedObject:))
}
}
но я не знаю, что я должен здесь напечатать:
public func managedObject() -> CharacterObject {
let character = CharacterObject()
character.identifier = identifier
character.name = name
character.realName = realName
// here must be something like that, but for array
// character.publisherArray = publisherArray.managedObject()
return character
}
Спасибо всем за помощь: -)