Как сохранить структуру Swift в основных данных на iOS?
на данный момент я храню один из моих классов как NSData в plist, и, очевидно, это не лучший способ сделать это.
поэтому я пытаюсь настроить основные данные, но мой класс имеет структуры. Вот что у меня есть:--2-->
import Foundation
import CoreData
class Favourite: NSManagedObject {
@NSManaged var origin: Stop
struct Stop {
var name: String;
var id: String;
}
}
но это не хорошо, потому что он говорит
свойство не может быть помечено как @NSManaged, поскольку его тип не может быть представлен в Objective-C
кроме того, если эта ошибка не возникает, я не знаю, что я это как в моем xcdatamodeld файл.
думаю, я мог бы сохранить значения в структуре и назначить при инициализации объекта? Является ли это наиболее оптимальным / чистым способом?
1 ответов
Я буду действовать так :
import Foundation
import CoreData
struct Stop {
var name: String;
var id: String;
}
class Favourite: NSManagedObject {
@NSManaged var name: String
@NSManaged var id: String
var stop : Stop {
get {
return Stop(name: self.name, id: self.id)
}
set {
self.name = newValue.name
self.id = newValue.id
}
}
}
очень интересная статья, вы должны прочитать:http://www.jessesquires.com/better-coredata-models-in-swift/