如何在swift2中将字符串转换为Bool? 当我进行如下转换时。
我收到错误:
“从'字符串'转换为不相关的类型'布尔'总是失败”
let datastring = "False"
let returnValue = datastring as? Bool
答案 0 :(得分:3)
您可以通过将布尔值设置为数据字符串是否为真来完成此操作
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"
答案 1 :(得分:3)
我更愿意:
let returnValue = NSString(string:dataString.lowercaseString).boolValue
答案 2 :(得分:2)
如果要使用NSString的boolValue属性
(dataString as NSString).boolValue
答案 3 :(得分:0)
任何编程语言都不能将字符串值转换为bool值,您可能需要提出上述人员提到的一些hack。
另一种方法是使用枚举。