【问题标题】:Convert string to bool - swift2 [duplicate]将字符串转换为布尔值 - swift2 [重复]
【发布时间】:2015-12-10 06:48:31
【问题描述】:

如何在 swift2 中将字符串转换为 Bool? 当我进行如下转换时。

我得到错误:

“从 'String' 转换为不相关类型 'Bool' 总是失败”

let datastring = "False" 
let returnValue = datastring as? Bool

【问题讨论】:

    标签: ios string swift boolean


    【解决方案1】:

    您可以通过将布尔值设置为数据字符串是否为真来做到这一点

    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"
    

    【讨论】:

    • 是否有任何 Swift 或 Objective C 的程序员使用 on 作为布尔值?!我很困惑,这一定是no 的错字;)
    • @x4h1d 程序员几乎总是使用“true”,但“on”也可以作为布尔值(“on”/“off”)
    【解决方案2】:

    如果你想使用 NSString 的 boolValue 属性

    (dataString as NSString).boolValue
    

    【讨论】:

      【解决方案3】:

      我更喜欢:

      let returnValue = NSString(string:dataString.lowercaseString).boolValue
      

      【讨论】:

        【解决方案4】:

        在任何编程语言中,字符串值都不能转换为布尔值,您可能必须想出上述人提到的一些技巧。

        还有一种方法是使用枚举。

        【讨论】:

          猜你喜欢
          • 2011-01-13
          • 1970-01-01
          • 2011-05-19
          • 2018-09-07
          • 1970-01-01
          • 2019-04-27
          • 2012-03-10
          • 2012-12-16
          相关资源
          最近更新 更多