【发布时间】:2019-01-12 19:26:34
【问题描述】:
我有一个问题:“我猜它为什么会起作用,但我应该在这里问它以检查我的想法:D。
我有一个代码:
let possibleNumber = "1232"
var somevariable : Int
if let actualNumber = Int(possibleNumber) {
somevariable = actualNumber
} else {
print("\(possibleNumber) could not be converted to an integer")
}
print(somevariable)
和错误:变量“somevariable”在初始化之前使用
但如果我有这样的事情:
let possibleNumber = "1232"
var somevariable : Int
if let actualNumber = Int(possibleNumber) {
somevariable = actualNumber
} else {
somevariable = 0
}
print(somevariable)
它可以正常工作。
如果我删除 else 块,它也会出错。无论如何,我的理解是这样的:我不允许你在 somevariable 可以为 nil 的情况下,因为他的类型不是可选的。
也许我的想法是错误的,或者你有更好的解释。感谢您的帮助和良好的链接。 祝你好运!
【问题讨论】:
-
这就是为什么你在 Swift 中有可选项。如果您假装有一个可以为 nil 的变量,请将其声明为可选整数
Int?
标签: ios swift type-safety optional-arguments