Я пытаюсь объявить два свойства как необязательные в пользовательском классе - String и Int.
Я делаю это в MyClass:
var myString: String?
var myInt: Int?
Я могу их декодировать нормально следующим образом:
required init?(coder aDecoder: NSCoder) {
myString = aDecoder.decodeObjectForKey("MyString") as? String
myInt = aDecoder.decodeIntegerForKey("MyInt")
}
Но их кодировка дает ошибку в строке Int:
func encodeWithCoder(aCoder: NSCoder) {
aCoder.encodeInteger(myInt, forKey: "MyInt")
aCoder.encodeObject(myString, forKey: "MyString")
}
Ошибка исчезает только тогда, когда XCode предлагает мне развернуть Int следующим образом:
aCoder.encodeInteger(myInt!, forKey: "MyInt")
Но это, очевидно, приводит к сбою. Поэтому мой вопрос: как я могу заставить Int обрабатываться как необязательный, например String? Что мне не хватает?