Persistindo dados com SQLite3
help
{{apiData.me.position}}˚ no Ranking
profile pic account_circle
Para empresas Login Comece agora
Iniciar Desafio Iniciar Desafio Fórum
{{apiData.participant_count}} Participantes
Criado Por: Created by
Swift 4
SQLite3

Persistindo dados com SQLite

Objetivo

Utilizando o Xcode 10 e Swift 4 você deverá conectar a sua aplicação a um banco de dados SQLite a fim de ler, inserir e deletar personagens do Star Wars localmente.

Tópicos

Com este desafio você aprenderá:

  • Utilizar SQLite em aplicativos iOS
  • Realizar operações CRUD

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 as telas, assim como as navegações entre si, já estão implementadas a fim de mostrar a lista de personagens e permitir também a inserção de novos. Seu trabalho será focado na camada de persistência, onde iremos utilizar a biblioteca SQLite.swift para encapsular o banco de dados SQLite3 para a linguagem Swift.

Suas tarefas nesse desafio serão:

  1. Implementar, no arquivo SQLiteConfigurator.swift, a função insertCharactersData() de forma a pré-popular o banco de dados na primeira vez em que o aplicativo for executado.
  2. No arquivo CharactersRepository.swift, implementar as funções fetch(), insert() e delete() a fim de tornar o aplicativo funcional.

Obs: Para a realização das operações no banco de dados na classe CharactersLocalRepository, utilize o objeto da classe Connection proveniente do campo db: LocalStorage e escreve as queries utilizando SQL. Para mais informações sobre a biblioteca utilizada nesse projeto acesse: https://github.com/stephencelis/SQLite.swift

Ao final, seu aplicativo deverá ficar como nas imagens abaixo:

Tela 1 Tela 2

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)}}%
SQLite.swift

A type-safe, Swift-language layer over SQLite3

SQLite Tutorial

SQLite database engine

SQLite With Swift

SQLite With Swift Tutorial: Getting Started

A Linguagem SQL

SQL Básico