Я знаю, что в Swift есть много вопросов об этом отчете об ошибке, но поскольку я являюсь абсолютным новичком, я хотел бы спросить, что означает эта ошибка, и как я могу исправить это в своем коде?Значение необязательного типа String? не разворачивается; вы хотели использовать «!» или "?"?
required convenience init?(coder aDecoder: NSCoder) {
let name = aDecoder.decodeObjectForKey(PropertyKey.nameKey) as! String
// Because photo is an optional property of Meal, use conditional cast.
let characterise = aDecoder.decodeObjectForKey(PropertyKey.characteriseKey) as? String
let photo = aDecoder.decodeObjectForKey(PropertyKey.photoKey) as? UIImage
let rating = aDecoder.decodeIntegerForKey(PropertyKey.ratingKey)
// Must call designated initializer.
self.init(name: name, characterise: characterise, photo: photo, rating: rating)
}
Я не знаю, является ли это правда, но я думаю, что что-то не так с параметром characterise
?
какая строка дает сообщение? Это говорит о том, что вы назначаете необязательное значение для необязательной переменной с ее распаковкой. – Paulw11
Опционы являются такой важной частью в Swift, что вы должны просто посмотреть несколько руководств по ним. –