Adición de elementos a una matriz vacía lanza errores

votos
0

Estoy tratando de elementos añadidos a una matriz de cadena vacía y traté de seguir este post complemento de valor para vaciar-array , pero ninguno con las opciones me están ayudando tal como resultan en Xcode tirar errores cada vez. aquí está el código si tiene cansado:

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

Esto me dio 6 errores en el código x siendo la primera declaración consecutiva en una línea debe estar separado por; entonces se dice que es una de las tareas redeclaración no válido seguido de un montón de errores que dicen que lo convierten en un func. Cuando trato de la func .Append en lugar de + = que da los mismos errores

Ahora si intento esto:

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

sólo me da el error redeclaración no válida, pero no creo que esto de la manera correcta para añadir elementos a la matriz

Con suerte, esto ayuda a explicar mi problema y lo siento por la pregunta principiante extraño, pero gracias por la ayuda de antemano

Publicado el 14/02/2020 a las 00:03
fuente por usuario
En otros idiomas...                            


2 respuestas

votos
-1

No se puede utilizar +=con un [String](array de Strings) y String.

He aquí un ejemplo me encontré en un patio de recreo:

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

Se imprime ["A"]. Sin ver el código va a ser difícil de diagnosticar si hay otro problema.

Actualizar después de ver su código:

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

tasks.append(["something"])

No se puede anexar en la declaración, tendrá que añadir las órdenes de agregar a una función (trate viewDidLoado viewWillAppearde prueba). ["something"]es una matriz de String, no una String. Tendrá que utilizar "something"en su lugar.

Respondida el 14/02/2020 a las 00:07
fuente por usuario

votos
1

Miré el código en su Pastebin y la cuestión es que se tuviera tanto en la declaración y asignación en líneas separadas en la definición de clase.

class TableViewController: UITableViewController {

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

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

Usted también deletreado Stringmal, pero eso no es relevante para la revisión.

Otra cuestión es un tipo de desajuste. Se declara un arreglo de cuerdas , lo que sería [String]. Sin embargo, se está intentando añadir un conjunto de cuerdas a una otra serie de cuerdas, lo cual es incorrecto.

tasks.append(["something"])

En su lugar, usted debe tener

tasks.append("something")

Esto ahora añade un elemento de Stringa su gama de Strings.

Por último, se puede hacer una de dos cosas: Asignar la matriz en la creación

var tasks = ["something"]

o asignarlo dentro de una función, como su ViewDidLoad

Respondida el 14/02/2020 a las 00:33
fuente por usuario

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