Ios 错误:条件绑定的初始值设定项必须具有可选类型,而不是';字符串';
第二行出现字符串错误:条件绑定的初始值设定项必须具有可选类型,而不是“字符串” 如何决定使用可选变量还是非可选变量Ios 错误:条件绑定的初始值设定项必须具有可选类型,而不是';字符串';,ios,iphone,swift,Ios,Iphone,Swift,第二行出现字符串错误:条件绑定的初始值设定项必须具有可选类型,而不是“字符串” 如何决定使用可选变量还是非可选变量 var firstName: String = "John Appleseed" if let name = firstName { print ("Hello, \(name)") } 添加?使其成为可选 检查以了解在何处使用可选项以及它实际上是什么 希望这会有所帮助:) 添加?使其成为可选 检查以了解在何处使用可选项以及它实际上是什么 希望这有助于:(P>)首先,让我
var firstName: String = "John Appleseed"
if let name = firstName {
print ("Hello, \(name)")
}
添加?
使其成为可选
检查以了解在何处使用可选项以及它实际上是什么
希望这会有所帮助:)
添加?
使其成为可选
检查以了解在何处使用可选项以及它实际上是什么
希望这有助于:(P>)首先,让我们考虑一下< <代码> > < <代码> >构造意味着什么。当你写作时
var firstName: String? = "John Appleseed"
if let name = firstName {
print ("Hello, \(name)")
}
你告诉斯威夫特你想
firstName
name
换句话说,此构造用于处理可选变量的展开。但是,变量
firstName
不是可选的;没有东西可以打开,导致斯威夫特抱怨首先,让我们考虑一下< <代码> > < <代码> >构造意味着什么。当你写作时
var firstName: String? = "John Appleseed"
if let name = firstName {
print ("Hello, \(name)")
}
你告诉斯威夫特你想
firstName
name
换句话说,此构造用于处理可选变量的展开。但是,变量
firstName
不是可选的;没有东西可以打开,导致斯威夫特抱怨 错误说明了一切。。。您不能将可选绑定(如果让…
)与非可选绑定一起使用。要么将String
更改为String?
,要么完全取消可选绑定(取决于这只是为了演示还是实际代码)。错误说明了一切。。。您不能将可选绑定(如果让…
)与非可选绑定一起使用。将String
更改为String?
,或者完全取消可选绑定(取决于这是演示还是实际代码)。请注意,如果这是实际的生产代码,这不是一个好建议。。。一般来说,您应该更喜欢非可选的,而不是可选的。因此,如果您在定义时知道firstName
的值,并且知道它总是有值的,那么它肯定是非可选的。请注意,如果这是实际的生产代码,这不是一个很好的建议。。。一般来说,您应该更喜欢非可选项而不是可选项–因此,如果您在定义时知道firstName
的值,并且知道它总是有一个值,那么它肯定应该是非可选项。