Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Criando um array com loop

Olá.

Na aula é criado um array para a lista de ano manualmente dentro da classe PickerViewAno, tentei fazer usando um for porém apresenta o erro Expected declaration na linha do for.

Tentei declara o index, antes porém não deu certo também. O que está errado ou faltando?

var listaDeAno = Array<String>()

    for index in 0...4 do {
            let inicio = 18
            listaDeAno.append("20\(inicio+index)")
        }
5 respostas

Olá Daniel

na linha do for:

for index in 0...4 do {

se você remover o "do":

for index in 0...4 {

acredito que funcionará como desejado.

Oi André

Eu já havia tentado assim (o do eu coloquei em uma das tentativas e acabei colando aqui) , no playground da certo da forma que você falou. Porém quando jogo no projeto ele continua dando esse erro Expected declaration

Oi Daniel, tudo bem?

Consegue compartilhar o projeto comigo (git)? Assim eu consigo rodar aqui e te ajudar ;)

Abs.

Olá Ândriu, foi o Daniel que abriu o post...

Daniel, realmente com o código inteiro fica mais fácil do Ândriu lhe ajudar.

Apenas uma ideia: se você colocou o for diretamente dentro da classe, abaixo do atributo listaDeAno, pode estar gerando o erro citado. Se for este o caso, é necessário movê-lo para dentro de uma function ou construtor. Algo do tipo:

class PickerViewAno: ... {

   ....

    var listaDeAnos = Array<String>()

    init () {
        for index in 0...4 {
            let inicio = 18
            listaDeAno.append("20\(inicio+index)")
        }
     }

   ...
}
solução!

Obrigado Ândriu e André pela disponibilidade.

A dica do André funcionou, tive que colocar dentro do Inicializador(construtor) o compilador apenas solicitou que eu usasse o override init() então ficou assim:

class PickerViewAno: ... {

    var listaDeAno = Array<String>()
    override init() {
        for index in 0...15 {
                let inicio = 10
                        listaDeAno.append("20\(inicio+index)")
                }
    }

...
}

esse código no inicio da classe PickerViewAno.