如何将字符串转换为swift2中的Bool? 当我做如下转换。将字符串转换为bool - swift2
我得到的错误:
"Cast from 'String' to unrelated type 'Bool' always fails"
let datastring = "False"
let returnValue = datastring as? Bool
如何将字符串转换为swift2中的Bool? 当我做如下转换。将字符串转换为bool - swift2
我得到的错误:
"Cast from 'String' to unrelated type 'Bool' always fails"
let datastring = "False"
let returnValue = datastring as? Bool
您可以通过布尔设置使用做到这一点的数据串是否是真正的
let returnValue = dataString.lowercaseString == "true"
这有效地转化为
var returnValue: Bool = false
if(dataString.lowercaseString == "true"){
returnValue = true
}
如果你想要捕获所有“truthy”的价值观,如“1”,“真实的”,“是”,“上”,您可以使用
let lowercase = dataString.lowercaseString
let returnValue = lowercase == "true" || lowercase == "1" || lowercase == "yes" || lowercase == "on"
如果你想使用NSString
的boolValue财产(dataString as NSString).boolValue
我宁愿:
let returnValue = NSString(string:dataString.lowercaseString).boolValue
的字符串值,不能被铸造在任何编程语言中的布尔值,你可能要拿出一些黑客通过上面的人提及。
另一种方法是使用枚举。
是Swift或Objective C的任何程序员使用'on'作为布尔值?!我很困惑,这肯定是'no'的错字;) – x4h1d
@ x4h1d程序员几乎总是使用“true”,但“on”也是有效的布尔型(“on”/“off”) – Jojodmo