У меня есть простой Time
класс, который принимает протокол NSCoding
:
class Time: NSObject, NSCoding {
var hours: Int
func encode(with aCoder: NSCoder) {
aCoder.encode(self.hours, forKey: "hours")
}
public required init?(coder aDecoder: NSCoder) {
guard let hours = aDecoder.decodeObject(forKey: "hours") as? Int
else { return nil }
self.hours = hours
}
init(hours: Int) {
self.hours = hours
}
}
, который я хочу стать атрибутом Transformable
для моего Watch
объекта:
final class Watch: NSManagedObject {
@NSManaged public fileprivate(set) var time: Time
}
как показано здесь:
Я успешно сохраняю это в контексте управляемого объекта, но когда я перезагружаю приложение, атрибут time
равен nil
.
Я что-то здесь упускаю?Почему это свойство не может быть успешно сохранено?Кажется, это все, что требуется в других сообщениях.
Большое спасибо за любую помощь!