Přidávání prvků do prázdné pole hází chyby

hlasů
0

Snažím se přídavnými prvky do prázdného pole řetězců a snažil jsem se sledovat tento příspěvek add hodnotou na prázdné pole , ale žádné možnosti mi pomáhají, protože za následek Xcode vyvolávání chyb pokaždé. Zde je kód, pokud máte tired:

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

To mi dalo 6 chyby na x kódu přičemž první Postupný prohlášení na řádku musí být odděleny; pak říká, že je neplatný opakovaná deklarace úkolů následuje banda chyb říkají, aby to func. Když jsem se zkusit .append FUNC místo + = dává stejné chyby

Nyní, když se snažím toto:

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

to jen mi dává neplatný chybu opakovaná deklarace, ale nevěřím, že to je správný způsob, jak přidat prvky do pole

Doufejme, že to pomůže vysvětlit svůj problém, a omlouvám se za podivné začátečníky otázkou ale děkuji za pomoc předem

Položena 14/02/2020 v 00:03
zdroj uživatelem
V jiných jazycích...                            


2 odpovědí

hlasů
-1

Nelze použít +=s [String](pole řetězců) a String.

Zde je příklad jsem narazil na hřišti:

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

Vytiskne ["A"]. Aniž by viděl svůj kód to bude velmi těžké diagnostikovat, zda je další problém.

Aktualizovat poté, co při pohledu na svůj kód:

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

tasks.append(["something"])

Nemůžete append v prohlášení, budete muset přidat připojit k funkci (pokusit viewDidLoadnebo viewWillAppeartestu). ["something"]je pole String, ne String. Budete muset použít "something"místo.

Odpovězeno 14/02/2020 v 00:07
zdroj uživatelem

hlasů
1

Podíval jsem se na kód v pastebin a problémem je, že jste měli i prohlášení a přiřazení na samostatné řádky v definici třídy.

class TableViewController: UITableViewController {

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

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

Také je napsána Stringšpatně, ale to není relevantní pro opravu.

Dalším problémem je druh mis-match. Deklarovat pole řetězec , který by byl [String]. Nicméně, který se pokoušíte přidat řadu řetězec na jiném poli String, což je špatně.

tasks.append(["something"])

Místo toho byste měli mít

tasks.append("something")

To nyní přidává prvek Stringdo svého pole Strings.

A konečně, můžete udělat jednu ze dvou věcí: přiřazení pole při vytváření

var tasks = ["something"]

nebo přiřadit uvnitř funkce, jako bys ViewDidLoad

Odpovězeno 14/02/2020 v 00:33
zdroj uživatelem

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