var firstName: String = "John Appleseed"
if let name = firstName {
print ("Hello, \(name)")
}
第二行的字符串错误:条件绑定的初始化程序必须具有可选类型,而不是'字符串'
如何决定是使用可选变量还是非可选变量?
答案 0 :(得分:3)
首先,让我们考虑if let
构造的含义。当你写
if let name = firstName {
print ("Hello, \(name)")
}
你告诉Swift你想要
firstName
name
"Hello, \(name)"
换句话说,这个构造用于处理可选变量的展开。但是,变量firstName
不是可选;什么都没有解开,导致斯威夫特抱怨。
答案 1 :(得分:2)
var firstName: String? = "John Appleseed"
if let name = firstName {
print ("Hello, \(name)")
}
添加?
以使其成为可选项。
检查answer in this link以了解在哪里使用可选项以及实际上是什么
希望这会有所帮助:)