ios - 在swift中设置http方法时可以将字符串作为数据传递吗

标签 ios objective-c swift

我正在使用 Xcode 7.2 和 swift 2.0,并将一段 Objective-C 代码转换为 swift 。 Objective-c 中的代码是

  NSString *jsonstring = [[NSString alloc] initWithData:urlData encoding:NSUTF8StringEncoding];
[requests setHTTPBody:[jsonstring dataUsingEncoding:NSUTF8StringEncoding]]; 

我在调用函数时将 urlData 作为参数传递。这在 obj-c 中工作得很好..但是当我将其转换为 swift 2.0 时

let jsonstring = String(data: urlData, encoding: NSUTF8StringEncoding)!
requests.HTTPBody = String(data: jsonstring, encoding: NSUTF8StringEncoding)

此行中的错误显示为

"cannot convert value of type 'string' to expected argument type nsdata"

任何人都可以帮助告诉我为什么会抛出此错误以及我应该如何纠正代码?

最佳答案

[jsonstring dataUsingEncoding:NSUTF8StringEncoding]]; 是方法 -[NSString dataUsingEncoding:]

String(data: jsonstring,encoding: NSUTF8StringEncoding) 是方法 -[NSString initWithData:encoding:]

这不是等效代码。尝试改为调用 jsonstring.dataUsingEncoding(NSUTF8StringEncoding)

关于ios - 在swift中设置http方法时可以将字符串作为数据传递吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36077287/

相关文章:

ios - WatchKit NSAppTransportSecurity 错误

ios - 如何再次显示 "Would like to send you Push Notifications"警报 View ?

objective-c - UINavigationController 标题重叠

ios - 如何实现多种消耗品内购

ios - IOS Swift 中自动布局的对齐问题

android - 图片上传不适用于 WKWebView,但适用于 SFSafariViewController

objective-c - UIScrollView 每次滚动时调用 layoutSubviews()

ios - instantiateViewControllerWithIdentifier 似乎调用了 viewdidload

swift - 我不能有一个带有元素标签的单元素元组有客观原因吗?

arrays - 修改字典中的 Swift 数组<String, AnyObject>