Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Mini Curso iOS IFSP São Carlos

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.

Mini Curso iOS IFSP São Carlos

Mini Curso de iOS no IFSP São Carlos nos dias 7, 8 e 9 de Novembro de 2017

Avatar for Yasmin Benatti

Yasmin Benatti

November 07, 2017
Tweet

More Decks by Yasmin Benatti

Other Decks in Programming

Transcript

  1. whoami • Formada em Análise e Desenvolvimento de Sistemas pelo

    IFSP São Carlos; • Desenvolvedora mobile há dois anos. http://yasminbenatti.com/ https://github.com/yabenatti http://monitoratec.com.br/
  2. whoami • Graduando do curso de Desenvolvimento de Jogos pela

    FATEC Carapicuíba • Desenvolvedor mobile há 1 ano http://monitoratec.com.br/ https://carlosmenzoni.carbonmade.com
  3. Sumário • Swift • XCode • iOS • Estruturação de

    Projeto • Storyboard • Constraints • TableView • Segue • TabBar • Extras
  4. Swift • Swift 3 • Open source • Pode ser

    usada em um projeto Objective-C ◦ bridging header
  5. Swift - Variables • var ◦ mutable variable • let

    ◦ constant • ? ◦ optional ◦ absence of value • ! ◦ explicitly unwrapped optional / force unwrap
  6. Swift - Functions • keywork "func" • nome da função

    em camel case • parâmetros entre parênteses • -> • retorno
  7. Swift - Functions • Instance methods ◦ precisa ter uma

    instância, um objeto • Type Methods ◦ chamado no próprio tipo ◦ static keywork antes da func keywork ◦ classes podem usar class ao invés de static
  8. Swift - Optional • Optional significa que uma variável pode

    ter conteúdo ou ausência dele • É necessário verificar se a variável tem conteúdo toda vez antes de usá-la
  9. Swift - Structs and Enums • facilitam o uso de

    "namespaces" • facilitam a verificação de erros
  10. iOS • Versão atual: 11.0.3 • Primeira versão em 2007

    • Para o curso vamos usar iOS 10 • An Illustrated History of iOS
  11. Estruturação de Projeto • Um projeto bem organizado é fácil

    de manter • Pode ser alterada de acordo com a necessidade do projeto • Criar a pasta no Finder e importar pro projeto como um "Group" • Neste projeto ◦ Models ◦ Storyboards ◦ TabBarControllers ◦ TableCells ◦ Utils ◦ ViewControllers
  12. Storyboards • Representação visual da interface de usuário • Múltiplas

    telas • Conjunto de XIBs • São pesados e devem ser usados com cuidado • Sempre dividir diferentes fluxos de navegação em diferentes storyboards
  13. Constraints • Regras de posicionamento adicionadas aos componentes de uma

    tela • Posicionamento automático dos componentes mantendo suas proporções e espaçamentos em diversos tamanhos de tela e modos de apresentação.
  14. UITableView • Apresenta os dados em tuplas organizadas em uma

    só coluna • Utilizada em diversos aplicativos • Faz a reutilização de células • Possui alguns métodos obrigatórios ◦ UITableViewDataSource func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
  15. Segue • Comanda a transição entre duas cenas • Deve

    ter um identificador • Pode ser substituído por um trecho de código
  16. Tab Bar • Controla múltiplos fluxos de navegação que são

    independentes • Cada fluxo pode ser um storyboard ◦ que contém uma NavigationController e múltiplos ViewControllers
  17. Links Interessantes • Tutoriais e artigos ◦ Ray Wenderlich ◦

    Cocoacasts ◦ Objc.io ◦ NSHipster ◦ Natasha The Robot • Youtube ◦ Mark Moeykens ◦ Brian Advent ◦ Lets Build That App ◦ Google Developers