首页 > 解决方案 > 将数据转换为布尔值

问题描述

我有一个 api 调用,它的响应是一个包含布尔值的数据。它不是JSON 对象,因此 JSONDecoder 无法对其进行解码。这是一些需要转换为Bool的字节。

  respose in postman: true or false

要求什么:

let dataTask = session.dataTask(with: urlRequest) { responseData, urlResponse, err -> Void in
     let data: Data = responseData
}

提前感谢您的帮助

标签: iosswiftnsdata

解决方案


首先处理总是error

响应<74727565>是字符串“true”。最简单的解决方案是responseData直接比较Data

let dataTask = session.dataTask(with: urlRequest) { responseData, _, err  in
    if let error = err { print(error); return }

    let success = responseData! == Data("true".utf8) // or == Data([116,114,117,101])
}

successtrue如果响应为“真”,否则false


推荐阅读