Swift 2.0 条件赋值和语法

标签 swift if-statement

以下代码有效(其中 someArray.objectForKey("someKey")NSNumber 类型):

var someInt:Int = 123

if(someDict["someKey"] != nil) {
    someInt = someDict["someKey"]!.integerValue
}

这样可以正常工作并完成我需要它做的事情,但我几乎 100% 确定这不是它应该在 Swift 中完成的方式。

我正在为上述代码寻找更优雅的解决方案。

最佳答案

这叫做可选绑定(bind)

if let someValue = someArray["someKey"] as? Int { 
   someInt = someValue 
}

请阅读 Swift Language Guide 中有关可选绑定(bind)的部分

关于Swift 2.0 条件赋值和语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38259064/

相关文章:

ios - 无法将类型 '[String]' 的值分配给类型 'String?'

javascript - IE 条件检查

r - 如果一行中的任何列满足条件而不是 mutate() 列

bash - 在 if 语句中执行代码 (Bash)

swift - 在 Swift 调用 animateWithDuration :Animations: 中捕获函数参数时出现奇怪的错误

ios - 在没有 NSString 的情况下使用带有 NSData 的 Swift 字符串

swift - 为什么不能为 Measurement<UnitMass> 变量赋值?

ios - Google Maps iOS SDK 在每次位置更新后防止相机变焦

matlab - MATLAB 中的级联 if/elseif/else 构造是否有简洁的替代方案?

c# - 允许用户在 Windows 控制台中键入任意数量的字符串,然后显示有关已键入的字符串中的字母数和行号的信息