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

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