是否需要将变量 'possibleIntegerValue' 设置为 'optional Int(Int?)' 或者将 'possibleIntegerValue' 设置为类型 'Int' 是否可以?
Is it necessary to set variable 'possibleIntegerValue' to 'optional Int(Int?)' or it is ok to set 'possibleIntegerValue' to the type 'Int' instead?
我是 Swift 的新手,正在尝试学习可选值的概念。我的问题是,在之前代码的上下文中,有必要将变量 'possibleIntegerValue' 设置为 'optional Int(Int?)' 或者可以省略 ?
符号并将 'possibleIntegerValue' 设置为改为输入 'Int'?
如果我确实将类型从 optional Int 更改为 Int 会产生什么样的影响?
let numberSymbol: Character = "三" // Simplified Chinese for the number 3
var possibleIntegerValue: Int?
switch numberSymbol {
case "1", "١", "一", "๑":
possibleIntegerValue = 1
case "2", "٢", "二", "๒":
possibleIntegerValue = 2
case "3", "٣", "三", "๓":
possibleIntegerValue = 3
case "4", "٤", "四", "๔":
possibleIntegerValue = 4
default:
break
}
if let integerValue = possibleIntegerValue {
print("The integer value of \(numberSymbol) is \(integerValue).")
} else {
print("An integer value could not be found for \(numberSymbol).")
}
Optionals 允许你有一个没有值的情况。您有以下选项来声明变量:
var possibleIntegerValue: Int? // Optional Int
var possibleIntegerValue: Int = 0 // Not optional but must *always* have a value
var possibleIntegerValue: Int! // Implicitly unwrapped Optional Int
在上面的第三个选项中,您保证 possibleIntegerValue
在首次使用时会有一个值(否则您的应用程序将因未捕获的异常而崩溃)。
因为你的 switch
语句有一个 default
没有给 possibleIntegerValue
一个值,使用一个 Optional Int 似乎是合适的。
我是 Swift 的新手,正在尝试学习可选值的概念。我的问题是,在之前代码的上下文中,有必要将变量 'possibleIntegerValue' 设置为 'optional Int(Int?)' 或者可以省略 ?
符号并将 'possibleIntegerValue' 设置为改为输入 'Int'?
如果我确实将类型从 optional Int 更改为 Int 会产生什么样的影响?
let numberSymbol: Character = "三" // Simplified Chinese for the number 3
var possibleIntegerValue: Int?
switch numberSymbol {
case "1", "١", "一", "๑":
possibleIntegerValue = 1
case "2", "٢", "二", "๒":
possibleIntegerValue = 2
case "3", "٣", "三", "๓":
possibleIntegerValue = 3
case "4", "٤", "四", "๔":
possibleIntegerValue = 4
default:
break
}
if let integerValue = possibleIntegerValue {
print("The integer value of \(numberSymbol) is \(integerValue).")
} else {
print("An integer value could not be found for \(numberSymbol).")
}
Optionals 允许你有一个没有值的情况。您有以下选项来声明变量:
var possibleIntegerValue: Int? // Optional Int
var possibleIntegerValue: Int = 0 // Not optional but must *always* have a value
var possibleIntegerValue: Int! // Implicitly unwrapped Optional Int
在上面的第三个选项中,您保证 possibleIntegerValue
在首次使用时会有一个值(否则您的应用程序将因未捕获的异常而崩溃)。
因为你的 switch
语句有一个 default
没有给 possibleIntegerValue
一个值,使用一个 Optional Int 似乎是合适的。