swift - 如何在 Swift 3 中将 NSMutableData 类型的主体添加到请求中?

标签 swift swift3

这是我的代码摘录:

let body:NSMutableString = NSMutableString()

body.appendFormat("\(MPboundary)\r\n" as NSString)
body.appendFormat("Content-Disposition: form-data; name=\"\notifications\"\r\n\r\n")
body.appendFormat("\(jsonString)\r\n\n" as NSString)

let end:String = "\(endMPboundary)"

let myRequestData:NSMutableData = NSMutableData()
myRequestData.append(body.data(using: String.Encoding.utf8.rawValue)!)
myRequestData.append(end.data(using: String.Encoding.utf8)!)

request.httpBody = myRequestData as Data

行:

request.httpBody = myRequestData as Data

给出错误“无法将'NSMutableData'类型的值强制转换为'Data'类型

最佳答案

受到评论的启发,这是一个原生 Swift (3) 版本:

var body = ""

body += "\(MPboundary)\r\n"
body += "Content-Disposition: form-data; name=\"\notifications\"\r\n\r\n"
body += "\(jsonString)\r\n\n"

let end = "\(endMPboundary)"

var myRequestData = Data()
myRequestData.append(body.data(using: .utf8)!)
myRequestData.append(end.data(using: .utf8)!)

request.httpBody = myRequestData

或更简单:

var body = ""

body += "\(MPboundary)\r\n"
body += "Content-Disposition: form-data; name=\"\notifications\"\r\n\r\n"
body += "\(jsonString)\r\n\n"
body += "\(endMPboundary)"

request.httpBody = body.data(using:.utf8)!

关于swift - 如何在 Swift 3 中将 NSMutableData 类型的主体添加到请求中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41616988/

相关文章:

swift - Swift 中的 Curried 闭包

ios - 用户界面 TableView : Change cell height dynamically when clicked the custom button

ios - UIView 部分在 superView 之外没有接收到触摸

swift - 为什么相同的代码会在一个位置而不是另一个位置抛出错误?

ios - 取消初始化/无效定时器

ios - 核心数据有必要迁移吗?

ios - swift iOS 我可以通过哪些方式缓存网络调用

swift - 从应用内打开 Apple 的订阅窗口

swift3 - 我们的 Xcode 项目中的 podfile.lock 是什么,为什么要使用它?

ios - 你如何找出一个对象的类型