Swift – Enviando dados via POST

O Swift é uma nova linguagem de programação intuitiva, desenvolvido pela Apple para a criação de apps para dispositivos com iOS e Mac. Foi criado para dar liberdade e recursos aos desenvolvedores mais avançados para que possam criar uma geração de apps inovadores. E também abre um novo mundo de possibilidades para todos. O Swift é fácil de aprender e usar, mesmo que você nunca tenha trabalhado com código antes. Agora qualquer pessoa com uma ideia pode criar algo incrível.

Com o objetivo de disponibilizar uma demonstração prática de sua utilização construi o código abaixo, o mesmo pode ser utilizado para enviar dados via POST se utilizando do protocolo HTTP:

//
//  ViewController.swift
//  Sending POST
//
//  Created by Fábio Jânio on 05/03/15.
//  Copyright (c) 2015 Fábio Jânio. All rights reserved.
//

import UIKit

class ViewController: UIViewController {

    @IBOutlet weak var labelStatus : UILabel?

    func postToServer()
    {
        var url: NSURL = NSURL(string: "http://192.168.56.101/ios/teste.php")!
        var request:NSMutableURLRequest = NSMutableURLRequest(URL:url)

        var bodyData = "acao=sim" // dados a serem enviados
        request.HTTPMethod = "POST"

        request.HTTPBody = bodyData.dataUsingEncoding(NSUTF8StringEncoding);
        NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue.mainQueue())
            {
                (response, data, error) in
                println(response)

                if let HTTPResponse = response as? NSHTTPURLResponse
                {
                    self.labelStatus?.text = "Envio realizado!\nRetorno: \(HTTPResponse.statusCode)"
                }
        }
    }

    @IBAction func postToServerButton(sender: AnyObject)
    {
        postToServer()
    }

    override func viewDidLoad()
    {
        super.viewDidLoad()
        self.labelStatus?.text = ""
        // Do any additional setup after loading the view, typically from a nib.
    }

    override func didReceiveMemoryWarning()
    {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }   
}

Do lado do servidor poderíamos ter um script PHP que ao receber a requisição acima com o parâmetro acao=sim dispara algum controle interno e realiza determinada ação.

Resumindo: Construi um app utilizando a linguagem Swift, este realiza requisições HTTP por meio do método POST a uma URL qualquer, por sua vez estas requisições podem engatilhar qualquer ação que venhamos a definir.

Não se preocupem, futuramente voltarei a falar sobre essa linguagem bem como postarei vídeos ensinando a criar aplicativos para IOS. Pensem nessa postagem como um aperitivo para o que está por vir.

Até a próxima pessoal ;)