Como criar a tua primeira aplicação em Swift

19 Comentários

Hoje é dia de aniversário, é dia de comemorarmos mais um ano de pplware ! Como tal, para tornarmos o dia especial e diferente, vamos dar-vos uma pequena lição de como criar uma prequena aplicação em Swift, a nova linguagem de programação da Apple.

Antes de começarmos, garantam que tem instalado nos vossos Mac’s a ultima versão do Sistema operativo, YOSEMITE e também a ultima versão do Xcode instalada.

swift


Esta aplicação vai ter como objetivo listar um conjunto de elementos numa tabela.

Vamos começar por abrir o Xcode e fazer File -> New -> Project

pic1

 

No template para o projecto, vamos escolher “Single View Application”

pic2

No ecrã de opções do projeto, escolham o nome que quiserem para o nome do projecto, neste caso para nós será “PplwareTableViewExample1” , na Language, garantam que está escolhido “Swift” e para este exemplo não será necessário terem seleccionado a check box , “Use Core Data” , pois não vamos usar base de dados na nossa aplicação.

pic3

Vamos começar por criar o ecrã da nossa aplicação. Para isso devemos de escolher o ficheiro “Main.Storyboard” onde vão estar os ecrãs da nossa aplicação.

Neste momento já temos um ecrã no Storyboard, vamos começar por selecciona-lo e adicionar-lhe um objecto do tipo “Table View”. Podem sempre acrescentar ao topo do ecrã um objecto do tipo “Navigation Bar” para dar um titulo ao ecrã (mais informações no video). No final vamos ficar com o ecrã assim

pic4

 

Antes de passarmos ao código temos que criar uma referência do objecto de UI para o código, o chamado IBOutlet, como tal vamos seleccionar o ficheiro ViewController.swift , e antes do método “viewDidLoad”, vamos acrescentar a seguinte linha:

@IBOutlet var tblExample : UITableView!

Voltamos ao Storyboard, seleccionamos o ecrã que temos, e vamos arrastar com o botão do lado direito a começar no view controller para a tabela e seleccionar tblExample. E com isto criamos a ligação entre a variável “tblExample” e a tabela.

pic5

Voltamos ao ficheiro “ViewController.swift”, vamos começar a programar os métodos da tabela.

Primeiro que tudo temos que dizer que a nossa classe responde aos métodos de Delegate e DataSource da tabela, para isso onde temos a declaração da classe, vamos ficar com:

class ViewController: UIViewController , UITableViewDelegate , UITableViewDataSource

Os métodos obrigatórios a serem implementados são:

  • func numberOfSectionsInTableView(tableView: UITableView) -> Int {} , Vai servir para informar a tabela quantas secções vai ter;
  • func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int{} , vai informar a tabela quantas linhas vai ter por secção;
  • func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell , vai retornar a Celula a ser desenhada pela Tabela

Neste momento só nos falta criarmos uma lista para guardar os elementos e para os mostrarmos na tabela. Para isso vamos declarar uma variável, perto de onde declaramos o IBOutlet para a tabela, do tipo NSMutableArray (vamos criar uma variável do tipo mutável porque vamos querer adicionar-lhe objectos).

var listElements : NSMutableArray = NSMutableArray()

No método viewDidLoad vamos criar inserir objectos dentro do nosso Array

listElements.addObject(<#anObject: AnyObject#>)

No final vamos ter a classe assim:

pic6

Agora podem correr a aplicação e o resultado final será isto:

simulator

Video de demonstração

Podem fazer download do código aqui 

Comentários

19

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

  1. Avatar de José
    José

    Podiam era fazer o mesmo para android. Mas muito bom 🙂

  2. Avatar de john
    john

    Ao pessoal do pplware, vejam em relação aos ficheiros que nos aparece para fazer download quando entramos no vosso site ou sempre que fazemos reload de qualquer página no pplware. Uso Windows phone e recebo de dois a quatro downloads cada vez que faço reload. De resto, parabens pelo site para mobile!

  3. Avatar de Francisco Rodrigues
    Francisco Rodrigues

    Maltinha que esteja por ai e por milagre esteja a oferecer Mac’s, contactai-me, estou sem dinheiro e cheio de vontade de programar em iOS OSX ahah (triste 🙁 🙁 )!

    Boa Sorte com a “série” Edgar.
    (P.S: Bem que podiam actualizar a de Android)

    1. Avatar de Afonso
      Afonso

      Não precisas de mac’s para fazer isso. Eu usei um Acer e bem mais rápido que muitos iMac e Mac mini lado a lado a correr o simulador

      1. Avatar de Paulo
        Paulo

        Sim, sim… só basta o Acer correr o simulador… para começar, não é?

        1. Avatar de Afonso
          Afonso

          A ignorância às vezes é tramada, o que quiz dizer é que não é necessário ter um mac.
          É possivel instalar o OSX nativamente em diversos computadores que não da apple, ou mesmo máquinas virtuais (mas são fica um pouco lento)

          1. Avatar de Nunes
            Nunes

            É possível instalar nalguns computadores mas pouca gente quererá arriscar usar uma máquina dessas como computador de trabalho. Não é fácil ficar com uma máquina estável, e os updates podem criar problemas!

          2. Avatar de antonio
            antonio

            pois eu uso à 2 anos e nunca tive problemas nem mesmo com actualizações. A única coisa que tenho diferente é o touchpad não me reconhecer 3 dedos, de resto tudo impecável

  4. Avatar de Xplouder
    Xplouder

    Há algum outro IDE alternativo ao XCode para brincar com o Swift?

    1. Avatar de Nuno Gonçalves
      Nuno Gonçalves

      Sim tens o AppCode – https://www.jetbrains.com/objc/

      1. Avatar de Nunes
        Nunes

        Não é um verdadeiro IDE alternativo e requer a instalação do Xcode.

  5. Avatar de la_marca
    la_marca

    O exemplo partilhado no link não corresponde ao código do tutorial.

    1. Avatar de Rogério Moreira
      Rogério Moreira

      Corresponder corresponde, ele é que ainda não fez commit das alterações

      1. Avatar de la_marca
        la_marca

        Pois, era o que eu queria dizer. Ainda procurei por outro branch. É que o video tem pouca resolução e tou com um erro a compilar. Queria tirar a limpo o código original.

    2. Avatar de Edgar Clérigo

      Vejam lá se o código já está em condições, realmente, não tinha feito o ultimo push para o git.

      1. Avatar de Rogério Moreira
        Rogério Moreira

        Confirmo. Já está. Muito obrigado 🙂