【发布时间】:2015-12-10 06:48:31
【问题描述】:
如何在 swift2 中将字符串转换为 Bool? 当我进行如下转换时。
我得到错误:
“从 'String' 转换为不相关类型 'Bool' 总是失败”
let datastring = "False"
let returnValue = datastring as? Bool
【问题讨论】:
如何在 swift2 中将字符串转换为 Bool? 当我进行如下转换时。
我得到错误:
“从 'String' 转换为不相关类型 'Bool' 总是失败”
let datastring = "False"
let returnValue = datastring as? Bool
【问题讨论】:
您可以通过将布尔值设置为数据字符串是否为真来做到这一点
let returnValue = dataString.lowercaseString == "true"
这实际上转化为
var returnValue: Bool = false
if(dataString.lowercaseString == "true"){
returnValue = true
}
如果要捕获所有“真实”值,例如“1”、“true”、“yes”、“on”,可以使用
let lowercase = dataString.lowercaseString
let returnValue = lowercase == "true" || lowercase == "1" || lowercase == "yes" || lowercase == "on"
【讨论】:
on 作为布尔值?!我很困惑,这一定是no 的错字;)
如果你想使用 NSString 的 boolValue 属性
(dataString as NSString).boolValue
【讨论】:
我更喜欢:
let returnValue = NSString(string:dataString.lowercaseString).boolValue
【讨论】:
在任何编程语言中,字符串值都不能转换为布尔值,您可能必须想出上述人提到的一些技巧。
还有一种方法是使用枚举。
【讨论】: