Création de NSData à partir de NSSsortingng dans Swift

J’essaie finalement d’avoir un NSMutableURLRequest avec un HTTPBody valide, mais je n’arrive pas à obtenir mes données de chaîne (provenant d’un UITextField ) dans un object NSData utilisable.

J’ai vu cette méthode pour aller dans l’autre sens:

 NSSsortingng(data data: NSData!, encoding encoding: UInt) 

Mais je n’arrive pas à trouver de documentation pour mon cas d’utilisation. Je suis prêt à mettre la chaîne dans un autre type si nécessaire, mais aucune des options d’initialisation de NSData utilisant Swift ne semble être ce que je recherche.

Dans Swift 3

 let data = ssortingng.data(using: .utf8) 

Dans Swift 2 (ou si vous avez déjà une instance NSSsortingng )

 let data = ssortingng.dataUsingEncoding(NSUTF8SsortingngEncoding) 

Dans Swift 1 (ou si vous avez une Ssortingng rapide):

 let data = (ssortingng as NSSsortingng).dataUsingEncoding(NSUTF8SsortingngEncoding) 

Notez également que data est un Optional (car la conversion risque d’échouer), vous devrez donc le déballer avant de l’utiliser, par exemple:

 if let d = data { println(d) } 

Swift 4 & 3

La création d’un object Data partir d’un object Ssortingng a été modifiée dans Swift 3. La version correcte est maintenant:

 let data = "any ssortingng".data(using: .utf8) 

Voici une méthode très simple

 let data = ssortingng.dataUsingEncoding(NSUTF8SsortingngEncoding, allowLossyConversion: false) 
 // Checking the format var urlSsortingng: NSSsortingng = NSSsortingng(data: jsonData, encoding: NSUTF8SsortingngEncoding) // Convert your data and set your request's HTTPBody property var ssortingngData: NSSsortingng = NSSsortingng(ssortingng: "jsonRequest=\(urlSsortingng)") var requestBodyData: NSData = ssortingngData.dataUsingEncoding(NSUTF8SsortingngEncoding)! 

Rapide 4

 let data = mySsortingngVariable.data(using: Ssortingng.Encoding.utf8.rawValue)