如何删除可选字符
let color = colorChoiceSegmentedControl.titleForSegmentAtIndex(colorChoiceSegmentedControl.selectedSegmentIndex)
println(color) // Optional("Red")
let imageURLString = "http://hahaha.com/ha.php?color=\(color)"
println(imageURLString)
//http://hahaha.com/ha.php?color=Optional("Red")
我只是想要输出”http://hahaha.com/ha.php?color=红色"
我能怎么做?
hmm....
实际上,当您将任何变量定义为可选变量时,您需要解开该可选值。要解决此问题,您必须将变量声明为非选项,或者在变量后面放置 !(感叹号)标记以解开选项值。
var optionalVariable : String? // This is an optional.
optionalVariable = "I am a programer"
print(optionalVariable) // Optional("I am a programer")
var nonOptionalVariable : String // This is not optional.
nonOptionalVariable = "I am a programer"
print(nonOptionalVariable) // "I am a programer"
//There are different ways to unwrap optional varialble
// 1 (Using if let or if var)
if let optionalVariable1 = optionalVariable {
print(optionalVariable1)
}
// 2 (Using guard let or guard var)
guard let optionalVariable2 = optionalVariable else {
fatalError()
}
print(optionalVariable2)
// 3 (Using default value ?? )
print(optionalVariable ?? "default value") // If variable is empty it will return default value
// 4 (Using force caste !)
print(optionalVariable!) // This is unsafe way and may lead to crash
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)