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

Top comments (0)