考虑这两个代码:
if let myValue = myObject.value as NSString?{
//logic here
}
Run Code Online (Sandbox Code Playgroud)
VS
if var myValue = myObject.value as NSString?{
//logic here
}
Run Code Online (Sandbox Code Playgroud)
我知道let关键字是定义一个常量,这是否意味着第一行代码,如果myObject.value
是NSString,myValue
则会产生常量?这看起来令人困惑.
Luc*_*tti 18
如果你使用let
那么你将无法改变myValue
.
if let myValue = myObject.value as NSString? {
myValue = "Something else" // <-- Compiler error
}
Run Code Online (Sandbox Code Playgroud)
另一方面,var
你可以.
if var myValue = myObject.value as NSString? {
myValue = "Something else" // <-- It's fine
}
Run Code Online (Sandbox Code Playgroud)
请注意,myValue
确实只存在if
于其范围内并且更改其值不会在其范围之外产生影响.
希望这可以帮助.
归档时间: |
|
查看次数: |
9970 次 |
最近记录: |