func createBodyWithParameters(parameters: [String: String]?,filePathKey: String?,imageDataKey: NSData,boundary: String) -> NSData { let body = NSMutableData() if parameters != nil { for (key,value) in parameters! { body.("--\(boundary)\r\n") body.appendString("Content-disposition: form-data; name=\"\(key)\"\r\n\r\n") body.appendString("\(value)\r\n") } } let filename = "user-profile.jpg" let mimetype = "image/jpg" body.appendString(options: <#T##NSData.Base64EnCodingOptions#>)("--\(boundary)\r\n") body.appendString("Content-disposition: form-data; name=\"\(filePathKey!)\"; filename=\"\(filename)\"\r\n") body.appendString("Content-Type: \(mimetype)\r\n\r\n") body.appendString("\r\n") body.appendString("--\(boundary)--\r\n") return body }
问题再次出现在appendString中,因为我收到错误:
NSMutableData类型的值没有成员appendString
我一直在寻找周围的工作,但没有找到任何,我有可用的追加方法,但它不需要一个字符串.
解决方法 正如@dan在评论中指出的那样,该方法是您正在研究的教程的一部分.不过,在Swift中很容易定义自定义方法.首先,不要使用NSMutableData;相反,使用新的Data结构,根据您是使用var还是let,它将是可变的或不可变的:
var body = Data()
然后追加UTF-8字节:
body.append(Data("foo".utf8))
(如果你需要UTF-8以外的东西,还有其他编码的String方法.)
如果你想要教程的确切行为,这里是如何将其方法转换为Swift 3:
extension Data { mutating func append(string: String) { let data = string.data( using: String.EnCoding.utf8,allowLossyConversion: true) append(data!) }}…body.append("foo")
但是,我不建议使用此代码,原因有两个.首先,有损转换意味着您的应用可能会默默地丢弃重要数据.其次,强制解包(数据!而不是数据)意味着如果编码出现问题,您的应用程序将崩溃而不是显示有用的错误.
总结以上是内存溢出为你收集整理的iOS swift NSMutableData没有成员appendString全部内容,希望文章能够帮你解决iOS swift NSMutableData没有成员appendString所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)