在Swift中从NSString创buildNSData
我试图最终有一个有效的HTTPBody NSMutableURLRequest ,但我似乎无法得到我的string数据(来自UITextField )到一个可用的NSData对象。 
我已经看到了这种方法:
 NSString(data data: NSData!, encoding encoding: UInt) 
 但我似乎无法find我的用例的任何文档。 我打算把string放入其他types,如果有必要,但没有使用Swift的NSData的初始化选项似乎是我正在寻找。 
在Swift 3
 let data = string.data(using: .utf8) 
 在Swift 2中(或者如果你已经有了一个NSString实例) 
 let data = string.dataUsingEncoding(NSUTF8StringEncoding) 
 在Swift 1中(或者如果你有一个快速的String ): 
 let data = (string as NSString).dataUsingEncoding(NSUTF8StringEncoding) 
 另外请注意, data是一个Optional<NSData> (因为转换可能会失败),所以你需要在使用它之前解开它,例如: 
 if let d = data { println(d) } 
斯威夫特4和3
 从Swift中创buildData对象的对象已经在Swift 3中改变了。现在正确的版本是: 
 let data = "any string".data(using: .utf8) 
这里非常简单的方法
 let data = string.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false) 
 // Checking the format var urlString: NSString = NSString(data: jsonData, encoding: NSUTF8StringEncoding) // Convert your data and set your request's HTTPBody property var stringData: NSString = NSString(string: "jsonRequest=\(urlString)") var requestBodyData: NSData = stringData.dataUsingEncoding(NSUTF8StringEncoding)!