Customizando items de uma lista e navegando entre telas
help
{{apiData.me.position}}˚ no Ranking
profile pic account_circle
Login Comece agora
Iniciar Desafio Iniciar Desafio Fórum
{{apiData.participant_count}} Participantes
Criado Por: Created by
Swift 4
UITableView
UITableViewCell
UITableViewDataSource
UITableViewDelegate
Auto Layout
UINavigationController

Customizando items de uma lista e navegando entre telas

Objetivo

Utilizando o Xcode 10 e Swift 4 você deverá criar uma célula customizada que irá mostrar os dados dos personagens do Star Wars em uma lista e, ao clicar em uma das células, uma tela de detalhes será apresentada.

Tópicos

Com este desafio você aprenderá:

  • Criar células customizadas
  • Utilizar Auto Layout com Interface Builder
  • Lidar com o clique em itens de uma tabela
  • Navegação entre UIViewControllers

Requisitos

  • Xcode 10.0
  • Swift 4.2

Tarefas

Dentro da pasta starwars você encontrará o projeto com a estrutura do iOS já criada. Neste desafio a tela com a lista e a tela de detalhes do personagem já estão montadas no arquivo Main.storyboard, porém o arquivo CharacterTableViewCell.xib, que contém a célula do personagem, está apenas com uma interface vazia.

Suas tarefas nesse desafio serão:

  1. Utilizando Auto Layout, implementar o layout da célula de personagem conforme o modelo abaixo:

    .

  2. Implementar o DataSource da TableView de forma a utilizar a célula customizada na apresentação da lista.

  3. Implementar o protocolo UITableViewDelegate de forma a tratar o clique nas células da UITableView

  4. Realizar a navegação para a tela de detalhes de um personagem ao clicar na sua respectiva célula.

  5. Configurar a tela de detalhes de forma a apresentar os dados do personagem conforme visto abaixo:

Obs 1: a altura da célula no ítem 2 deverá ser calculada de forma automática. Obs 2: O título da tela de detalhes no item 5 deverá ser Details

Rodando o aplicativo

Para verificar se não há nenhum problema de compilação no projeto, basta digitar o comando:

⌘B (command + B).

Para rodar o aplicativo no simulador/device selecionado, digite o comando:

⌘R (command + R).

Para rodar os testes no simulador/device selecionado, digite o comando:

⌘U (command + U).

codenation code review

Para receber Code review, compartilhe o link abaixo com colegas ou em nosso fórum de discussões:

codenation code review

Para receber Code review, você precisa primeiramente finalizar o desafio.

{{apiData.participant_count}} Participantes

Para definir seu posicionamento no ranking do desafio, utilizaremos a nota mais alta que tiver conquistado nele. Caso outra pessoa participante obtenha a mesma nota que a sua, o critério de desempate será data e hora de envio da mais recente.

empty ranking Ainda não temos participantes suficientes para o ranking!
Aproveite e seja um dos primeiros a participar desse desafio.
CODE:NOME NOTA
{{candidate.position}}. {{candidate.name}} {{candidate.score.toFixed(2)}}%
Custom UITableViewCell

Create the custom UITableViewCell from a xib file

Auto Layout

Auto Layout Tutorial in iOS 11: Getting Started

UITableViewDelegate

The UITableViewDelegate protocol

iOS TableView Swift Tutorial

Handling Clicks in TableView Cell

UI Navigation

How to push and present to ViewController programmatically