xcode - convert - data to string swift 4
Crear NSData desde NSString en Swift (5)
Swift 4 y 3
La creación del objeto Data
object from String
se ha modificado en Swift 3. La versión correcta ahora es:
let data = "any string".data(using: .utf8)
NSMutableURLRequest
finalmente tener una NSMutableURLRequest
con un HTTPBody
válido, pero parece que no puedo obtener mis datos de cadena (procedentes de un UITextField
) en un objeto NSData
utilizable.
He visto este método para ir por el otro camino:
NSString(data data: NSData!, encoding encoding: UInt)
Pero parece que no puedo encontrar ninguna documentación para mi caso de uso. Estoy dispuesto a poner la cadena en algún otro tipo si es necesario, pero ninguna de las opciones de inicialización para NSData
utilizando Swift parece ser lo que estoy buscando.
Aquí un método muy simple
let data = string.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false)
En Swift 3
let data = string.data(using: .utf8)
En Swift 2 (o si ya tiene una instancia de NSString
)
let data = string.dataUsingEncoding(NSUTF8StringEncoding)
En Swift 1 (o si tienes una String
rápida):
let data = (string as NSString).dataUsingEncoding(NSUTF8StringEncoding)
También tenga en cuenta que los data
son un Optional<NSData>
(ya que la conversión puede fallar), por lo que deberá desenvolverlo antes de usarlo, por ejemplo:
if let d = data {
println(d)
}
código swift4 let data = myStringVariable.data (usando: String.Encoding.utf8.rawValue)
// 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)!