В вашем коде просто замените 2 строки, т.е.
Замените
color = NSKeyedUnarchiver.unarchiveObject(with: colorData) as? UIColor
на
color = try! NSKeyedUnarchiver.unarchivedObject(ofClass: UIColor.self, from: colorData)
//// Здесь вы можете использовать try?
вместо try!
и заключить его в оператор if-let
.Ваш выбор.
и
Заменить
colorData = NSKeyedArchiver.archivedData(withRootObject: color) as NSData?
на
colorData = try? NSKeyedArchiver.archivedData(withRootObject: color, requiringSecureCoding: true)
Также используйте Data
вместо NSData
в var colorData: NSData?
, то есть
var colorData: Data?