Базовые данные: как сохранить пользовательский объект как преобразуемый атрибут?
В настоящее время у меня есть класс с именем Place, определенный следующим образом:
class Place {
let name: String
let address: String
let coordinate: CLLocationCoordinate2D
let type: String
var photoReference: String?
var photo: UIImage?
/* functions etc */
}
В моей модели данных у меня есть объект под названием FoundPlaces. У него есть один атрибут, place
типа "трансформируемый".
Я схожу с ума, пытаясь найти решение Swift для хранения этого объекта. Модель данных для начала неверна?
Любое руководство приветствуется. Спасибо!
1 ответ
Я заметил, что есть подкласс NSValueTransformer, который требуется для этого. Он преобразует в и из NSData, так что ваш экземпляр может быть сохранен и извлечен.
Объект, сохраненный в трансформируемом атрибуте, должен реализовать NSCoding
протокол (init(coder:)
а также encodeWithCoder:
).
Самый простой способ - это иметь Place
класс наследуется от NSObject
и реализовать методы выше.