no video o professor passou muito rápido nessa parte não consegui entender muiot bem, tem como algum instrutor ou aluno explicar melhor por aqui
no video o professor passou muito rápido nessa parte não consegui entender muiot bem, tem como algum instrutor ou aluno explicar melhor por aqui
Suponha o código onde tentamos converter de forma inocente um número para String:
let numero: Int = 10
let texto: String = numero as StringVeja que numero é do tipo Int, mas texto é do tipo String. Então para alterarmos o tipo do numero, fazemos uma operação chamada casting. No Swift, o operador de casting é o as.
No entanto, simplesmente trocar o tipo do numero (de Int para String) não o converte propriamente para uma String e essa operação dará um erro. O importante aqui é: caso o casting dê erro (por usarmos tipos incompatíveis), o que queremos que aconteça?
Caso queiramos forçar o casting e em caso de erro quebre o app, podemos fazer:
let numero: Int = 10
let texto: String = numero as! StringUsando o as! fazemos o force casting de numero para String, porém, como os tipos são incompatíveis, esse código causará um erro ao ser executado.
Podemos ser mais cautelosos e em caso de erro no casting podemos receber nulo:
let numero: Int = 10
let texto: String? = numero as? StringNote que ao usar o operador as? nos protegemos de um erro de tipagem incompatível, porém nosso texto agora é do tipo String?, significando que pode receber um valor nulo.