Hinzufügen von Elementen zu einem leeren Array wirft Fehler

stimmen
0

Ich versuche, hinzugefügt Elemente in einen leeren String - Array und ich versuchte , diesen Beitrag zu folgen Add-Value-leeren-Array , aber keine der Optionen helfen mir wie sie sich in Xcode Fehler jedes Mal zu werfen. hier ist der Code , wenn haben müde:

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

Dies gab mir 6 Fehler auf Code x mit der ersten Aufeinanderfolgende Erklärung wird in einer eigenen Zeile getrennt werden muß; dann sagt sie es durch ein Bündel von Fehlern folgte eine ungültige Neudeklaration von Aufgaben sagt es eine func zu machen. Wenn ich die .append func statt + = versuchen, gibt es die gleichen Fehler

Nun, wenn ich versuche, dies:

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

es gibt mir nur die ungültigen Neudeklaration Fehler, aber ich glaube nicht, dies die richtige Art und Weise Elemente zu dem Array hinzufügen

Hoffentlich hilft dies mein Problem zu erklären und entschuldigen uns für die seltsame Anfänger Frage, aber danke für die Hilfe im Voraus

Veröffentlicht am 14/02/2020 um 00:03
quelle vom benutzer
In anderen Sprachen...                            


2 antworten

stimmen
-1

Sie können nicht +=mit einem [String](Array von Strings) und String.

Hier ist ein Beispiel, das ich auf einem Spielplatz lief:

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

Er druckt ["A"]. Ohne Code zu sehen , wird es schwer zu diagnostizieren , ob es ein anderes Problem.

Aktualisieren Sie nach in Ihrem Code suchen:

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

tasks.append(["something"])

Sie können nicht append in der Erklärung, müssen Sie die append an eine Funktion (versuchen Sie hinzuzufügen viewDidLoadoder viewWillAppearzu Test). ["something"]ein Array von Stringnicht ein String. Sie werden verwenden müssen , "something"statt.

Beantwortet am 14/02/2020 um 00:07
quelle vom benutzer

stimmen
1

Ich schaute auf den Code in Ihrer Pastebin und das Problem ist, dass Sie sowohl die Deklaration und Zuweisung in separaten Zeilen in der Klassendefinition hatte.

class TableViewController: UITableViewController {

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

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

Sie könnten auch Dinkel Stringfalsch, aber das ist für das Update nicht relevant.

Ein weiteres Problem ist eine Art Fehlanpassung. Sie erklären , ein Array von String , der sein würde [String]. Allerdings versuchen Sie ein Array von String zu einem anderen Array von String hinzuzufügen, was falsch ist.

tasks.append(["something"])

Stattdessen sollten Sie haben

tasks.append("something")

Dadurch wird nun ein Element der Stringzu Ihrem Array von Strings.

Schließlich können Sie eines von zwei Dingen tun: Weisen Sie das Array bei der Erstellung

var tasks = ["something"]

oder weisen Sie es in einer Funktion, wie Ihr ViewDidLoad

Beantwortet am 14/02/2020 um 00:33
quelle vom benutzer

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