Legge til elementer til en tom array kaster feil

stemmer
0

Jeg prøver å lagt elementer til en tom streng rekke og jeg prøvde å følge dette innlegget add-verdi for å tømme-matrise , men ingen alternativene er å hjelpe meg som de resultere i Xcode kaster feil hver gang. her er koden hvis har lei:

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

Dette ga meg 6 feil på x-kode med den første som Fortløpende erklæring på en linje må være adskilt med; så står det at det er en ugyldig redeklarasjon av oppgaver etterfulgt av en haug med feil som sier å gjøre det en func. Når jeg prøver .append func i stedet for + = det gir de samme feilene

Nå hvis jeg prøver dette:

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

den bare gir meg ugyldig redeklarasjon feil, men jeg tror ikke dette er den riktige måten å legge til elementer i matrisen

Forhåpentligvis bidrar dette forklare mitt problem og beklager det rare nybegynner spørsmål, men takk for hjelpen på forhånd

Publisert på 14/02/2020 klokken 00:03
kilden bruker
På andre språk...                            


2 svar

stemmer
-1

Du kan ikke bruke +=en [String](utvalg av strenger) og String.

Her er et eksempel jeg kjørte i en lekeplass:

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

Den skriver ["A"]. Uten å se koden din vil det være vanskelig å diagnostisere hvis det er et annet problem.

Oppdater etter å se på koden din:

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

tasks.append(["something"])

Du kan ikke append i erklæringen, må du legge til føyer til en funksjon (prøve viewDidLoadeller viewWillAppeartil test). ["something"]er en rekke String, ikke en String. Du må bruke "something"i stedet.

Svarte 14/02/2020 kl. 00:07
kilden bruker

stemmer
1

Jeg så på koden i pastebin og problemet er at du hadde både erklæringen og tildeling på egne linjer i klassen definisjonen.

class TableViewController: UITableViewController {

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

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

Du også stavet Stringfeil, men det er ikke relevant for reparasjonen.

En annen sak er en type mis-match. Du erklærer en rekke String , som ville være [String]. Men, er du forsøker å legge til en rekke String til en annen rekke String, noe som er galt.

tasks.append(["something"])

I stedet bør du ha

tasks.append("something")

Dette legger nå et element av Stringdin rekke Strings.

Endelig kan du gjøre ett av to ting: Angi matrisen ved etableringen

var tasks = ["something"]

eller tilordne den inne i en funksjon, som din ViewDidLoad

Svarte 14/02/2020 kl. 00:33
kilden bruker

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