Adăugarea elementelor la un array gol aruncă erori

voturi
0

Am încercat să elemente adăugate într - un tablou șir gol și am încercat să urmeze acest post add-valoare pentru a goli-matrice , dar nici unul opțiunile ajută - mă ca au ca rezultat erori Xcode aruncare de fiecare dată. aici este codul dacă au obosit:

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

Acest lucru mi-a dat 6 erori pe codul x cu prima fiind declarația consecutiva pe o linie trebuie separate prin; atunci se spune că este un redeclararea invalid de sarcini, urmată de o grămadă de erori care spun să-l facă un FUNC. Când încerc FUNC .append în loc de + = dă aceleași erori

Acum, dacă am încerca acest lucru:

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

ea doar dă-mi eroarea redeclararea invalid, dar nu cred că acest lucru modul corect de a adăuga elemente la matrice

Din fericire, acest lucru ajută explica problema mea și îmi pare rău pentru ciudat întrebare incepator, dar mulțumesc pentru ajutor în avans

Întrebat 13/02/2020 la 22:03
sursa de către utilizator
În alte limbi...                            


2 răspunsuri

voturi
-1

Nu puteți utiliza +=cu [String](matrice de coarde) și String.

Iată un exemplu, am fugit într-un loc de joacă:

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

Se imprimă ["A"]. Fără a vedea codul dvs. va fi greu de diagnosticat dacă există o altă problemă.

Actualizați după ce se uită la codul:

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

tasks.append(["something"])

Nu poți append în declarație, va trebui să adăugați append la o funcție (încercați viewDidLoadsau viewWillAppearpentru a testa). ["something"]este o matrice de String, nu String. Va trebui să utilizați în "something"schimb.

Publicat 13/02/2020 la 22:07
sursa de către utilizator

voturi
1

M-am uitat la codul din pastebin și problema este că ați avut atât declarația și repartizarea pe linii separate în definiția clasei.

class TableViewController: UITableViewController {

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

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

De asemenea , ați scris Stringgreșit, dar că nu este relevantă pentru remedierea.

O altă problemă este un tip de mis-meci. Declari o serie de String , care ar fi [String]. Cu toate acestea, încercați să adăugați o serie de String la o altă serie de String, care este greșit.

tasks.append(["something"])

În schimb, ar trebui să aveți

tasks.append("something")

Aceasta adaugă acum un element al Stringarray dvs. Strings.

În cele din urmă, puteți face una din două lucruri: atribuiți matrice la creație

var tasks = ["something"]

sau atribuie în interiorul unei funcții, cum ar fi dvs. ViewDidLoad

Publicat 13/02/2020 la 22:33
sursa de către utilizator

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