Realizar una request POST en Swift

Estoy tratando de hacer algo como esto:

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"http://google.com"]]; request.HTTPMethod = @"POST"; NSString *stringData = @"some data"; NSData *requestBodyData = [stringData dataUsingEncoding:NSUTF8StringEncoding]; request.HTTPBody = requestBodyData; NSURLConnection *conn = [[NSURLConnection alloc] initWithRequest:request delegate:self]; 

Esto es lo que tengo hasta ahora:

 var url = NSURL(string: "some url") var request = NSMutableURLRequest(URL: url) request.HTTPMethod = "POST" var dataString = "some data" var requestBodyData: NSData = dataString.stringByAddingPercentEscapesUsingEncoding(NSUTF8StringEncoding) as NSData request.HTTPBody = requestBodyData var connection = NSURLConnection(request: request, delegate: self, startImmediately: false) println("sending request...") connection.start() 

Sin embargo, la var requestBodyData: line arroja la primera piedra con "No se puede convertir la expresión del tipo NSData al tipo NSData"

¿Alguien le importa pesarse?

stringByAddingPercentEscapesUsingEncoding devuelve una cadena en lugar de un object NSData. De acuerdo con esta respuesta, debe usar esto para convertir a una instancia de NSData:

 let data = (anySwiftString as NSString).dataUsingEncoding(NSUTF8StringEncoding) 

Uso de Alamofire para enviar una request HTTP POST

 let request = NSMutableURLRequest(URL: NSURL(string: "https://www.google.com")!) request.HTTPMethod = "POST" let body = "email=\(email)&access_token=\(token)" request.HTTPBody = body.dataUsingEncoding(NSUTF8StringEncoding) Alamofire.request(request).responseJSON { response in NSLog("response.request: \(response.request)") // original URL request NSLog("esponse.response: \(response.response)") // URL response switch response.result { case .Success: NSLog("Validation Successful") case .Failure(let error): // Logout NSLog("\(error), \(String(data: response.data!, encoding: NSUTF8StringEncoding))") return } // Save sip account information to NSUserdefaults if let json = response.result.value as? [String: AnyObject]{ // Do your stuff } }