【发布时间】:2019-01-14 21:20:21
【问题描述】:
关于解包选项的简单问题。
我已经阅读并看到了多个展开示例,如下所示
var strArray: [String]?
strArray = ["John", "Stacy", "Stephanie" ]
if let forSureNames = strArray{
for name in forSureNames{
print("\(name)")
}
} else{
print("Failed unwrapping")
}
但是,我的问题是 if let forSureNames = strArray{...
当键入类似于 C++ 的语法时(以及来自一些 swift 示例),添加括号
if (let forSureNames = strArray){
给出错误代码:
'()' is not convertible to 'Bool'
error: MyPlayground.playground:13:4: error: expected expression in list of expressions
if(let forSureName = strArrays){
^
error: MyPlayground.playground:13:4: error: expected '{' after 'if' condition
if(let forSureName = strArrays){
^
谁能帮忙解释一下区别?
编辑 我第一次问关于堆栈溢出的问题,反馈很棒。由于我对轻松转换的熟悉,我试图使用与 C++ 类似的编码风格。但是,你们明确表示这是一种不正确的方法。感谢您对展开的全新技术视角。干杯!
【问题讨论】:
-
赋值不等于 swift 中的布尔表达式。
let forSureNames = strArray不会评估为真或假
标签: swift conditional-statements optional forced-unwrapping