DEV Community

Cover image for Perguntas para se preparar [pt-br]
Lucas Lacerda
Lucas Lacerda

Posted on • Updated on

Perguntas para se preparar [pt-br]

1. O que é um Completion Handler?

Um Completion Handler no Swift é uma função que chama de volta quando uma tarefa é concluída. Por isso também é chamado de função de retorno de chamada.
Uma função de retorno de chamada é passada como um argumento para outra função. Quando esta função conclui a execução de uma tarefa, ela executa a função de retorno de chamada.

2 . O que é Typealias?

Um Typealias permite que você forneça um novo nome para um tipo de dados existente em seu programa. Depois que um alias de tipo é declarado, o nome do alias pode ser usado em vez do tipo existente em todo o programa.

3. O que é defer keyword?

A palavra chave defer do Swift nos permite configurar algum trabalho a ser realizado quando o escopo atual sair.

4 . Qual a diferença entra Any e AnyObject?

  • Any pode representar uma instância de qualquer tipo, incluindo tipos de função, tanto para o tipo de referência quanto para o tipo de valor.

  • AnyObject pode representar uma instância de qualquer tipo de classe, apenas para o tipo de referência.

5. O que é o método subscript?

Um subscript define um atalho para elementos de uma coleção, lista ou sequência. Pode ser definido em classes, estruturas, e enumerações para permitir acesso rápido a elementos de um determinado tipo.

6 .O que é a inicialização Member Wise na Struct?

Um inicializador memberwise é um inicializador que é gerado automaticamente pelo compilador para estruturas que não definem um
inicializador personalizado em sua declaração.

7. Qual a diferença entre Frame e Bounds?

  • Os Bounds de uma UIView é o retângulo, expresso como um local (x, y) e tamanho (largura, altura) em relação ao seu próprio
    sistema de coordenadas (0, 0).

  • O Frame de uma UIView é o retângulo, expresso como um local (x, y) e tamanho (largura, altura) em relação à superview em que está contido.

8 . Qual a diferença entre Upcast e Downcast?

A principal diferença entre Upcast e Downcast no Swift é que o upcasting de uma classe derivada para uma base pode ser verificado em tempo de compilação e nunca deixará de compilar e o Downcasts, por outro lado, pode falhar em compilar, já que a classe precisa nem sempre é conhecida. É possível que o UIView que você tem seja um UITableView ou um UIButton.

9 . Qual a diferença entre == e ===?

== operador verifica se seus valores de instância são iguais, "iguais a"

=== operador verifica se as referências apontam para a mesma instância, "Idêntica a",(Mesma Referência)

10 . O que a keyword mutating faz em Swift?

As strcuts são imutáveis. O que significa que outras variáveis não podem alterar os valores da estrutura em nenhum ponto.

A keyword mutating é necessária para alterar os valores das variáveis próprias SOMENTE dentro da função da estrutura

11 . Como sair de múltiplos níveis de loop?

Ao adicionar um rótulo ao loop externo, podemos sair de ambos os loops de uma só vez, exemplo:

Image description

12 . O que sao parámetros inout?

Todos os parâmetros passados para uma função Swift são constantes, então você não pode alterá-los. Se quiser, você pode passar um ou mais parâmetros como inout, o que significa que eles podem ser alterados dentro da sua função, e essas alterações refletem no valor original fora da função.

13 . Qual a diferença entre as?,as! e as no Swift?

as só pode ser usado para upcasting.

O operador de cast condicional as? Tenta realizar uma conversão, mas retorna nil se não puder. seu resultado é opcional.

O operador as! é para conversão forçada de tipo.

14 . Qual a diferença entre Self vs self?

Self - use em declarações de protocolo e extensão para se referir ao tipo eventual que estará em conformidade com o protocolo.
self (Minúsculo) - referência explícita ao tipo ou instância atual do tipo em que ocorre

14 . Qual a diferença entre protocol e class em Swift?

Class define o que é um objeto.

O protocol define um comportamento que o objeto tem.

15 . Quando usar set em vez de um array em Swift?

Sets são especialmente úteis quando você precisa garantir que um item apareça apenas uma vez no conjunto, mas não em ordem.

O Array é em ordem mas pode ser itens duplicados.

16 . Qual a diferença entre fileprivate and private?

file private pode ser lido em qualquer lugar do mesmo arquivo que foi declarado mesmo fora do tipo.

private só pode ser lida dentro do tipo que a declarou ou dentro de extensões para esse tipo que foram criadas no mesmo arquivo.

16 . Existe alguma maneira de criar class abstrata em Swift?

Por extensões de Protocolo e Protocolo, você pode obter o mesmo comportamento.

Primeiro, você escreve um protocolo que atua como uma interface para todos os métodos que precisam ser implementados em todos os tipos que estejam em conformidade com ele. Então você pode adicionar comportamento padrão a todos os tipos que estão em conformidade com ele

Agora você pode criar novos tipos implementando o protocolo.




Continua...


Header Image: Photo by Hadija Saidi on Unsplash

Top comments (0)