Базовые данные: как сохранить пользовательский объект как преобразуемый атрибут?

В настоящее время у меня есть класс с именем 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 и реализовать методы выше.

Другие вопросы по тегам