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)
}
}
我正在向服务器发送 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)
}
}