SUPRESS: @discardableResult em Swift

Livre-se desse aviso irritante

Foto de dylan nolte no Unsplash

Dificuldade: iniciante | Fácil | Normal | Desafiador

É uma daquelas coisas. O Swift fornece um aviso e você pode alterar um trecho de código para suprimir o aviso.

Você muda isso e a vida continua.

Então você descobre que um atributo pode ajudá-lo.

Isso é um bingo.

Pré-requisitos:

  • Ser capaz de produzir um “Hello, World!” Aplicativo iOS (guia AQUI ) OU Codificação no Swift Playgrounds (guia AQUI )

atributo: uma forma de fornecer informações sobre uma declaração de tipo

O caso de @discardableResult

Em minha postagem no Medium sobre a proteção de dados no keychain , tive uma função bastante interessante que retorna o OSStatus após a operação de salvamento ser concluída.

Aqui está a assinatura da função:

func save(key: String, data: Data) -> OSStatus

O aviso completo? A inicialização do valor imutável 'status' nunca foi usada; considere substituir por atribuição a '_' ou removê-lo

Então, como uma solução para remover isso, uso o sublinhado no Swift.

_ = kc.save(key: "MyString", data: data)

Na verdade, não, e remove qualquer aviso. Agradável. Mas há outra maneira de contornar isso. Uma maneira melhor,

@discardableResult

Na função (e principalmente em nenhum protocolo associado), o attributeé adicionado. Para tornar isso um pouco mais claro, usarei uma essência para a função modificada

Que podemos então chamar, mas crucialmente podemos (bem) descartar o resultado .

isso significa que podemos ligar com

Sem erros: apenas uma vida fácil.

Ah, e a mudança no meu código real? Veja o seguinte GIF animado:

Quão fácil foi isso?

Eu diria que é muito fácil.

Agora, por que eu não estava fazendo isso antes ??

Conclusão:

Se você estiver criando uma API pública onde o resultado provavelmente não será usado (pelo menos na maioria das vezes), o attribute@discardableResult oferece uma ótima maneira de evitar que seu cliente use _ para silenciar aquele aviso irritante.

Não custa nada e torna seu código mais fácil de ler.

Claro, se você espera que o cliente use o resultado, por favor, não bata @discardableResult lá de qualquer maneira.

Sempre codificamos com nosso limite de raciocínio, disse alguém que cita Edward De Bono incorretamente. Portanto, isso não será um problema, e @discardableResult é ótimo attributepara ter em nosso arsenal de codificação.

Amplie seu conhecimento

  • A Apple tem documentação sobre atributos AQUI

Alguma pergunta? Você pode entrar em contato comigo AQUI

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.

Meus recursos de codificação mais usados

Meus recursos de codificação mais usados

Esta semana, recebi um e-mail de um membro da lista de e-mails diários. Eles queriam saber: quais recursos você visita diariamente, semanalmente e mensalmente? Ótima pergunta! Fico feliz em tentar compartilhar algumas ideias sobre meu fluxo de trabalho e os principais recursos que uso.

Related posts

A performance solo da garota ruiva

A pedido de Hayden, Katie se filma se masturbando.

A performance solo da garota ruiva

Passava da meia-noite quando Hayden levou Katie de volta ao dormitório da faculdade depois da noite juntos. Ela tinha aula cedo de manhã e não tinha outra troca de roupa depois de ter ficado com ele na noite anterior.

O primeiro livro de uma criança sobre como ficar chapado

O primeiro livro de uma criança sobre como ficar chapado

(Aviso - isso é sátira, com a intenção de ser alegremente subversivo - definitivamente não é para crianças) Você viu sua mãe e seu pai se esconderem na cozinha e fumarem aqueles cigarros fedorentos. Eles dizem a você.

Rede de TV Twitter

Rede de TV Twitter

O que é velho agora é novo de novo e o que costumava ser a coisa brilhante e brilhante agora parece opaco. Não estou falando de jeans JNCO fazendo um retorno entre os garotos legais do centro da cidade junto com outras modas do final dos anos 1990.

O desafio de leitura Goodreads é tóxico

O desafio de leitura Goodreads é tóxico

A coceira na minha mão aumentou enquanto eu negociava com o livreiro local por mais um livro. Este livro, como o resto que comprei recentemente, encontraria seu trono na minha pilha 'To Be Read' (TBR); e ainda assim, eu comprei.