DEV Community

Beatriz da Silva
Beatriz da Silva

Posted on

Dia 2 - #100DaysOfSwift

Arrays

São coleções de dados de um mesmo tipo que podem armazenar tanto dados primitivos(como Int, String, Bool) como classes e objetos; São usados pra guardar mais de um valor em apenas uma variável e pode conter dois ou mais valores iguais.

Cada espaço num array é chamado de elemento, cada elemento é representado por um número que sempre começa em 0 e chamamos de índice.

O array abaixo guarda o nome dos membros da equipe X-Men da abertura do evolution, são 8 membros, então o array tem 8 elementos, com índices que vão do 0 ao 7.

let xMen = ["Ciclope", "Jean Grey", "Spyke", "Wolverine", "Tempestade", "Vampira", "Lince Negra", "Noturno"]
Enter fullscreen mode Exit fullscreen mode

É possível criar um array vazio e preenche-lo depois:

var xMen = [String]()

Se você tentar acessar um índice que não existe vai crashar o código, por exemplo, se você tentar acessar o índice 8 no array xMen[8].

Sets

Também são coleções de dados, mas diferente do array, ele guarda os dados de forma desordenada e não guarda itens repetidos, cada elemento é único, por isso caso coloque o mesmo elemento duas ou mais vezes, ele vai ignorar e guardar o elemento apenas uma vez e por ser desordenado não é possível acessar os elementos com índices.

Usamos o set ao invés do array quando precisamos garantir que cada elemento aparecerá apenas uma vez no conjunto e a ordem dos elementos não é importante.

let viloes: Set = ["fenix negra", "apocalipse", "magneto"]

É possíver criar um set vazio e depois preenche-lo:

var viloes = Set<String>()

Tuplas

Assim como o array, as tuplas permitem armazenar vários conjuntos de dados numa mesma variável, mas não é possível adicionar ou remover itens de uma tupla, elas tem um tamanho fixo; Não é possível mudar o tipo dos itens numa tupla depois dela criada.

var nome = (primeiroNome: "Laura", sobrenome: "Kinney")

Você pode acessar um elemento de uma tupla usando o índice(que também começa em 0):

nome.0

ou um nome que você deu pro elemento:

nome.primeiroNome

Você pode mudar o valor de dentro da tupla depois dela criada, mas não o tipo, se tentasse mudar pra (primeiroNome: "Logan", idade: 57) retornaria um erro.

Dicionários

É parecido com um array, mas no dicionário você escolhe a chave identificadora ao invés de ele criar isso automaticamente em forma de índice, os elementos são guardados em forma de chave : valor

let paises = [
    "Noturno": "Alemanha",
    "Wolverine": "Canadá",
    "Mancha Solar": "Brasil"
]
Enter fullscreen mode Exit fullscreen mode

Caso um elemento não seja encontrado o dicionário retorna nil, é possível colocar um valor default pro dicionário quando ele não encontrar a chave entre os elementos:

paises["Vampira", default: "Desconhecido"]

É possível criar um dicionário vazio e depois preencher os elementos dele:

var paises = [String: String]()

paises["Vampira"] = "Estados Unidos"

Enums

É um jeito de definir um grupo de valores relacionados de um jeito que seja fácil de usa-los, por exemplo um enum poderia ser usado pra definir à qual grupo um mutante pertence:

enum Grupo {
    case instituto
    case irmandade
    case morlocks
}
Enter fullscreen mode Exit fullscreen mode

let tempestade = Grupo.instituto

Enums também podem guardar valores associados à cada case, por exemplo um enum de ações simples:

enum Acao {
    case andando(destino: String)
    case falando(assunto: String)
    case voando(onde: String)
}
Enter fullscreen mode Exit fullscreen mode

let falando = Acao.falando(assunto: "como derrotar o magneto")

Um bom lugar pra conseguir mais informações sobre como algo em Swift ou de um framework da Apple funciona com exemplos é a Developer Documentation, pra acessar a doc pelo Xcode:

Atalho de teclado - Command + Shift + 0
Menu superior do Xcode - Help >> Developer Documentation

Sentry blog image

The Visual Studio App Center’s retiring

But sadly….you’re not. See how to make the switch to Sentry for all your crash reporting needs.

Read more

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

AWS GenAI LIVE!

GenAI LIVE! is a dynamic live-streamed show exploring how AWS and our partners are helping organizations unlock real value with generative AI.

Tune in to the full event

DEV is partnering to bring live events to the community. Join us or dismiss this billboard if you're not interested. ❤️