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

Mini Curso iOS IFSP São Carlos

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

05fd57095282d6fd84091180943166f8?s=128

Yasmin Benatti

November 07, 2017
Tweet

Transcript

  1. Mini Curso iOS Carlos Menzoni e Yasmin Benatti iOS Developers

    @ Monitora Soluções Tecnológicas
  2. 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/
  3. 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
  4. Sumário • Swift • XCode • iOS • Estruturação de

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

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

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

    em camel case • parâmetros entre parênteses • -> • retorno
  8. Swift - Functions

  9. 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
  10. Swift - Instance Methods

  11. Swift - Type Methods

  12. 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
  13. Swift - If Let Statement

  14. Swift - Guard Statement

  15. Swift - Empty Optional

  16. Swift - Filled Optional

  17. Swift - Structs and Enums • facilitam o uso de

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

    • Para o curso vamos usar iOS 10 • An Illustrated History of iOS
  19. iOS - UIViewController Lifecycle

  20. XCode • demo

  21. 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
  22. XIB • XML Interface Builder • Representação da interface de

    usuário • Uma única tela
  23. 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
  24. 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.
  25. 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
  26. Segue • Comanda a transição entre duas cenas • Deve

    ter um identificador • Pode ser substituído por um trecho de código
  27. 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
  28. 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
  29. Links Interessantes • Cursos ◦ Udemy ◦ CodeSchool

  30. Licenses <a href='https://www.freepik.com/free-vector/flat-animal-heads-set_715458.htm'>Designed by Freepik</a> <a href='https://www.freepik.com/free-vector/funny-animals-collection_765907.htm'>Designed by Freepik</a> <a

    href='https://www.freepik.com/free-vector/assortment-of-farm-animals-in-flat-design_1056823.htm'> Designed by Freepik</a>
  31. References https://developer.apple.com/library/content/navigation/ https://developer.apple.com/design/ https://developer.apple.com/documentation https://medium.com/opensanca/newsletters-de-tecnologia-fbe2ea6a8a86 https://www.git-tower.com/blog/history-of-ios?utm_campaign=iOS%2BDev%2BWeekly&utm_medium= email&utm_source=iOS_Dev_Weekly_Issue_297