[Solved] Access CFBoolean that is wrapped inside NSString in Swift 4


Objective-C is very typeinsensitive, from the BOOL perspective 0, "0", "NO", ``false, "false" and even nil is false, everything else is treated as true. That’s why NSString has a boolValue property. It just returns value != 0.

Swift is a strong typed language. You have to check the type:

let value : StringOrBool

let result : Bool
switch value {
  case let boolValue as Bool: result = boolValue
  case let stringValue as String: result = stringValue == "1" || stringValue == "true"
  default: result = false
}      

17

solved Access CFBoolean that is wrapped inside NSString in Swift 4