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.
atributo: uma forma de fornecer informações sobre uma declaração de tipo
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,
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 ??
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.
Alguma pergunta? Você pode entrar em contato comigo AQUI
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.
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.
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.
(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ê.
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.
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.