Como usar Fix & # 8208-la para corrigir Código Swift

Fix # 8208-Ela está relacionada com a conclusão de código no Swift na medida em que se baseia no fundo Número 173 de processamento do texto que você digita, mas vai além erros de digitação apenas corrigindo. (Fix # 8208-É o nome da interface de usuário para a conclusão do código.)

A figura a seguir usa o Master # 8208-Detail modelo Aplicativo para demonstrar isso.

image0.jpg

conclusão de código pode ajudá-lo código completo quando você digita var myVar: S. No entanto, depois que você digitou (e concluída) var myVar: String, você ainda tem um erro de sintaxe.

Uma mensagem de erro aparece na declaração de classe. O texto é mostrado à direita (# 147-Class 'AppDelegate' não tem initializers # 148-), e o círculo vermelho na sarjeta indica um erro.

Este círculo vermelho - realmente um donut vermelho - nem sempre vai acompanhar o seu erro. Algumas mensagens de erro mostrar um pequeno sinal vermelho na sarjeta vez. O donut vermelho indica que Fix # 8208-It está disponível. Clique o donut para adicionar uma correção sugerida # 8208-It. Pressione Return, e Xcode implementa o Fix # 8208-It.

Neste caso, o erro é a falta inicializador para a classe. Isso é tudo muito bem, mas se você é um desenvolvedor início Swift, o que você faz sobre isso?

The Fix # 8208-It fornece a solução. Swift requer que cada variável e constante tem um valor inicial. Ao contrário de algumas outras línguas (incluindo Objetivo nº 8208-C), você não pode ter uma variável constante ou declarou que não tem nenhum valor. Tem que ter algum valor.

Assim, para aderir às regras Swift, você pode se livrar da mensagem de erro sobre a falta de um inicializador, definindo myVar para uma cadeia em branco. É apenas uma cadeia em branco, é verdade, mas é alguma coisa. Ao usá-lo, você não tem uma variável não inicializada, e seu erro desaparece.

Esta figura mostra a Fix # 8208-It e sua solução:

image1.jpg

Fix # 8208-É muito poderoso. Considere-se, por exemplo, que, em vez de var myVar: String você tinha entrado na seguinte linha de código:

var myVar: Double

Este novo código dá-lhe o mesmo Fix # 8208-It mensagem. No entanto, o Fix # 8208-It solução seria diferente:

var myVar: Double = 0,0

Fix # 8208-Não só pode reconhecer que myVar é inicializado, mas também pode fornecer uma inicialização que é o tipo correto. Dá-lhe uma solução que é sintaticamente (e contextualmente) correto.

Note, no entanto, que mesmo uma solução sintática e contextualmente correta não pode ser direito. O melhor valor de inicialização para suas necessidades pode ser realmente # 147 Sem dados # 148- (Para a cadeia) ou 163,24 (Para o casal).

No entanto, você está muito à frente quando você usa Fix # 8208-lo em um caso como este - particularmente porque a solução de proporcionar um inicializador não exige a criação de uma função de inicialização separado. A mensagem de erro está correta (e criar um inicializador chamado nisso poderia resolver o problema), mas não há esta solução mais simples: basta definir um valor padrão para a variável.

menu