replacingOccurrences 在 Playground 中有效,在编译的 macOS 应用程序中失败

replacingOccurrences works in Playground, fails in compiled macos app

我正在向服务器发送 POST 请求并得到响应。到目前为止,一切都很好。当我将数据转换为(很长的)字符串时,响应包含反斜杠,反斜杠不应该存在。

这是处理请求的片段:

   let task = URLSession.shared.dataTask(with: request) { data, response, error in
        if let response = response, let data = data {
            print(response)               
            let str = String(data: data, encoding: .utf8)
            let replaced = str?.replacingOccurrences(of: "\", with: "")
            print(replaced)
        } else {
            print(error)
        }
    }

正在尝试用

替换 '\' 字符

让 replaced = str?.replacingOccurrences(of: "\", with: "")

在 Playground 中有效,但是调试运行时它不会去除反斜杠。

问题:Xcode有bug吗? 2018 年 Xcode 9 出现了这样的错误。我在 macOS 10.14 上使用 Xcode 11.3 编译 macOS 应用程序。

第二个问题,除了使用

之外,还有其他解码数据的方法吗?
            let str = String(data: data, encoding: .utf8)

谢谢

想通了。需要解码数据,而不是编码。

    let task = URLSession.shared.dataTask(with: request) { data, response, error in
        if let response = response, let data = data {
            print(response)                        
            let str = String(decoding: data, as: UTF8.self)
            print (str)


        } else {
            print(error)
        }
    }