Aggiungere elementi a un array vuoto genera errori

voti
0

Sto cercando di elementi aggiunti ad un array stringa vuota e ho cercato di seguire questo post add-valore per svuotare-array , ma nessuno le opzioni mi stanno aiutando quali risultano in Xcode gettando errori ogni volta. ecco il codice se sono stanchi:

var tasks = [String]()
tasks += [something]

Questo mi ha dato 6 errori sul codice x con il primo essendo dichiarazione consecutivi su una linea devono essere separati da; poi si dice che è un ridichiarazione invalido di compiti seguiti da un gruppo di errori dicendo per renderlo un func. Quando provo il func .Append invece di + = dà gli stessi errori

Ora, se provo questo:

 var tasks = [String]()
 var tasks = [Something]

mi dà solo l'errore ridichiarazione non valida, ma non credo che questo il modo corretto per aggiungere elementi alla matrice

Speriamo che questo aiuta a spiegare il mio problema e mi dispiace per la domanda principianti strano ma grazie per l'aiuto in anticipo

È pubblicato 14/02/2020 alle 00:03
fonte dall'utente
In altre lingue...                            


2 risposte

voti
-1

Non è possibile utilizzare +=con una [String](array di stringhe) e String.

Ecco un esempio mi sono imbattuto in un parco giochi:

var array: [String] = []
array.append("A")
print(array)

Esso stampa ["A"]. Senza vedere il codice sarà difficile da diagnosticare se c'è un altro problema.

Aggiornamento dopo aver guardato il tuo codice:

var tasks = [Sting]() // Should be String

tasks.append(["something"])

Non si può accodamento nella dichiarazione, sarà necessario aggiungere l'accodamento per una funzione (provate viewDidLoado viewWillAppeardi test). ["something"]è un array di String, non una String. Avrete bisogno di usare "something"invece.

Risposto il 14/02/2020 a 00:07
fonte dall'utente

voti
1

Ho guardato il codice nel tuo pastebin e la questione è che si ha sia la dichiarazione e l'assegnazione su righe separate nella definizione della classe.

class TableViewController: UITableViewController {

    //temp list of tasks
    var tasks = [Sting]()

    //giving some default values in the cell
    tasks.append(["something"])

È scritto anche Stringsbagliato, ma che non è rilevante per la correzione.

Un altro problema è un tipo mis-match. Si dichiara un array di stringa , che sarebbe [String]. Tuttavia, si sta tentando di aggiungere una serie di stringa ad un altro array di stringa, che è sbagliato.

tasks.append(["something"])

Invece, si dovrebbe avere

tasks.append("something")

Questo ora aggiunge un elemento di Stringper l'array di Strings.

Infine, si può fare una delle due cose: assegnare la matrice al momento della creazione

var tasks = ["something"]

o assegnarlo all'interno di una funzione, come la vostra ViewDidLoad

Risposto il 14/02/2020 a 00:33
fonte dall'utente

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more