Tupla em Swift

Este artigo explica o que é uma tupla e quando e onde ela é usada. Leitura feliz!!!

Crédito da foto: Stocksnap.io

Tupla é um grupo de valores diferentes representados como um. De acordo com a Apple, um tipo de tupla é uma lista separada por vírgulas de zero ou mais tipos, entre parênteses . É uma versão em miniatura de uma estrutura.

Vamos considerar um exemplo: um nome como John Smith pode ser declarado como uma tupla como ("John", "Smith"). Ele contém o nome e o sobrenome de uma pessoa. Você pode acessar os valores internos usando a .notação ponto() seguida pelo índice do valor:

var person = ("John", "Smith")

var firstName = person.0 // John
var lastName = person.1 // Smith

()é a tupla vazia – não possui elementos. Também representa o Voidtipo.

As tuplas não estão em conformidade com o protocolo hash. Portanto, não pode ser usado como chaves de dicionário.

Criando uma tupla:

Você pode declarar uma tupla como qualquer outra variável ou constante. Para inicializá-lo você precisará de outra tupla ou de uma tupla literal. Um literal de tupla é uma lista de valores separados por vírgulas entre parênteses. Você pode usar a notação de ponto para alterar os valores de uma tupla se ela for declarada como uma variável.

var point = (0, 0)

point.0 = 10
point.1 = 15

point // (10, 15)

var origin = (x: 0, y: 0)

var point = origin
point.x = 3
point.y = 5

print(origin) // (0, 0)
print(point) // (3, 5)

Você pode nomear os elementos de uma tupla e usar esses nomes para se referir a eles. Um nome de elemento é um identificador seguido por dois pontos (:).

var person = (firstName: "John", lastName: "Smith")
var firstName = person.firstName // John
var lastName = person.lastName // Smith

Você pode usar tuplas para inicializar mais de uma variável em uma única linha:

var (a, b, c) = (1, 2, 3)

Você pode retornar vários valores de uma função se definir o tipo de resultado como uma tupla.

Observe que as tuplas são passadas por valor , não por referência.

No código acima, para facilitar a leitura do código, usei a typealiaspara pré-definir a estrutura da tupla.

Tuplas para iterar um dicionário obtendo chave e valor:

for (key,value) in myDictionary {
println("My key is \(key) and it has a value of \(value)")
}

Nota : _significa “Não me importo com esse valor”

for (key,_) in myDictionary {
println("My key is \(key)")
}


let http404Error = (404, "Not Found")
// http404Error is of type (Int, String), and equals (404, "Not Found")

let (statusCode, statusMessage) = http404Error
print("The status code is \(statusCode)")
// Prints "The status code is 404"
print("The status message is \(statusMessage)")
// Prints "The status message is Not Found"

let (justTheStatusCode, _) = http404Error
print("The status code is \(justTheStatusCode)")
// Prints "The status code is 404"

print("The status code is \(http404Error.0)")
// Prints "The status code is 404"
print("The status message is \(http404Error.1)")
// Prints "The status message is Not Found"

let http200Status = (statusCode: 200, description: "OK")

vamos misturar tudo criando uma tupla que contém outra tupla.

let bar: (Int, (Bool, String)) = (1, (false, "Hello"))
print(bar.0) // print: “1”
print(bar.1.0) // print: “false”
print(bar.1.1) // print: “Hello”

var a = 5 
var b = 4 
(b, a) = (a, b)

O melhor lugar para usar uma tupla seria quando você deseja uma função que possa retornar vários tipos. Se você é um desenvolvedor de Objective-C, esse conceito parece impossível, a menos que você use um array ou dicionário. Anteriormente, tivemos que superar esse problema retornando um NSArrayou NSDictionary.

Fontes: Artigo médio , W eheartswift .

É isso. !

Aproveitar!!

Se você gostou de ler este post, por favor, compartilhe e dê palmas para que outros possam encontrá-lo !!!!

Você pode me seguir no Medium para artigos novos. Além disso, conecte-se comigo no LinkedIn .

Se você tiver algum comentário, pergunta ou recomendação, sinta-se à vontade para publicá-los na seção de comentários abaixo!

Suggested posts

“Aquela pequena ilha muda tudo”

Como projetamos as Lyft Live Activities para elevar a experiência do passageiro

“Aquela pequena ilha muda tudo”

Uma virada de jogo para o compartilhamento de viagens De todas as coisas que fazemos na Lyft, coreografar pickups entre passageiros e motoristas é uma das mais complexas e consequentes. Pregar essa coreografia depende de Lyft fazer muitas coisas bem, mas simplesmente manter os pilotos atualizados é essencial.

Ciclo de vida do aplicativo

Ciclo de vida do aplicativo

: Ciclo do lançamento do aplicativo ao desligamento: Usabilidade gerenciando memória ou dados ⬆️ A segurança pode ser processada UIApplication, situação AppDelegate:Define as funções que o objeto AppDelegate recebe msg enviada do objeto UIApplication e executa cada uma Não em execução: O estado em que o aplicativo não está em execuçãoInativo: O estado em que o aplicativo está em execução, mas nenhum evento é recebidoAtivo: O estado em que o aplicativo está em execução e ocorre um eventoBackground: O estado em que o aplicativo está em segundo plano, mas o código está sendo executadoSuspened: O estado em que o aplicativo está no plano de fundo e sem execução de código para delegar funções no arquivo AppDelegate.swift SceneDelegate Para responder bem à função de cena múltipla suportada a partir do iOS 13 AppDelegate / SceneDelegate AppDelegate 1.

Related posts

O que você pode fazer em sua temporada de espera (esperando para conseguir seu primeiro emprego em tecnologia)

O que você pode fazer em sua temporada de espera (esperando para conseguir seu primeiro emprego em tecnologia)

Mudar para uma nova carreira pode ser extremamente desafiador se você tentar fazer isso sozinho. É importante encontrar parceiros de responsabilidade que estejam no mesmo nível de aprendizado que você, que compartilhem objetivos, tenacidade e motivação semelhantes.

A lenta erosão: revelando como as pessoas desperdiçam em suas carreiras

A lenta erosão: revelando como as pessoas desperdiçam em suas carreiras

No mundo acelerado e competitivo de hoje, a carreira desempenha um papel significativo no crescimento pessoal, na estabilidade financeira e na satisfação geral com a vida. No entanto, muitos indivíduos encontram-se presos em um ciclo implacável de estagnação e insatisfação, definhando gradualmente em suas vidas profissionais.

Rastreie qualquer pessoa com apenas um número de telefone | Investigação OSINT

Rastreie qualquer pessoa com apenas um número de telefone | Investigação OSINT

Você pode ser um investigador OSINT, jogador CTF ou simplesmente alguém que está recebendo chamadas de spam. Alguém que está tentando verificar o número que você viu em um anúncio.

A arte é sempre apolítica?

A arte é sempre apolítica?

Ontem, fechamos a porta do Festival Eurovisão da Canção deste ano com uma brilhante e caótica grand finale, onde a cantora sueca Loreen levou para casa o troféu, tornando-se a primeira mulher a vencer duas vezes e trazendo a coroa de volta para a Suécia 50 anos depois que o ABBA venceu a competição com “Waterloo”. Eles se tornaram um dos maiores artistas do cânone da música pop.