Я пытаюсь прочитать строку и преобразовать ее в int.У меня есть решение, но оно кажется слишком сложным.Я думаю, что я все еще пытаюсь обернуть голову вокруг распаковки.
Я разместил код ниже вместе с ошибками компилятора, которые я получаю с каждым решением.
В этом примере я пытаюсь прочитать строку из UserDefaults и преобразовать ее в целочисленное значение.
static func GetSelectedSessionNum() -> Int32 {
var sessionNum : Int32 = 0
let defaults = UserDefaults.standard
let optionalString: String? = defaults.string(forKey: "selectedSessionNum")
// this works but it's too complicated
if let string = optionalString, let myInt = Int32(string) {
return myInt
}
return 0
// Error : optional String? must be unwrapped to a value of type 'String'
let t : String = defaults.string(forKey: "selectedSessionNum")
if let s : String = defaults.string(forKey: "selectedSessionNum") {
// error - Int32? must be unwrapped to a value of Int32
return Int32(s)
}
return 0
}