2
respostas

aula 3 - metodos assincronos - propriedade immutable

No curso, ao final da do segundo video (aula 3 - metodos assincronos), meu código apresenta o seguinte erro: Cannot assign to property: 'self' is immutable" , ao contrario do codigo oficial do curso. Alguem passou por isso?

2 respostas

Olá, Jose, tudo bem?

Quando esse erro acontece, normalmente é porque você está tentando modificar uma propriedade dentro de uma struct que não está marcada como mutável no contexto atual. No SwiftUI, as Views são structs imutáveis por padrão, então para atualizar um estado, você precisa usar uma propriedade anotada com @State ou outra propriedade que permita mutabilidade controlada.

No caso exemplo da aula, como estamos atribuindo o self.storesType = stores dentro do método getStores(), a variável storesType precisa ser declarada como @State para que o Swift permita essa modificação e a interface seja atualizada.

Para verificar isso, confirme se sua declaração está assim:

@State private var storesType: [StoreType] = []

Espero ter ajudado!

Siga firme nos seus estudos e conte com o fórum sempre que precisar.

Abraços :)

Caso este post tenha lhe ajudado, por favor, marcar como solucionado

Obrigado!!! Resolvido!