2017-02-17 8 views
-2

У меня есть эти массивы:Как добавить массивы внутри переменных в массив

var inactiveLocationArray = [String]() 
var activeLocationArray = [String]() 

Я хотел бы, чтобы добавить их в массив, как это:

let locationArrays: [[String]] = [self.inactiveLocationArray,self.activeLocationArray] 

, но он дает ошибку: значение типа (NSObject) ->() -> контроллер не имеет ни одного члена activeLocationArray

это на самом деле работает:

let locationArrays: [[String]] = [["test", "testas"]] 
+4

Что означает «это не работает»? – matt

+1

Возможный дубликат [Как инициализировать свойства, которые зависят друг от друга] (http://stackoverflow.com/q/25854300/2976878) – Hamish

+1

После того, как ваш VC был загружен, вам нужно установить значение 'locationArrays'. Когда вы объявляете это, скажите «var locationArrays: [[String]]!', А затем в 'viewDidLoad' вы можете сказать' self.locationArrays = [inactiveLocationArray, activeLocationArray] ' – Pierce

ответ

1

Ваш код как компилируется и работает отлично:

var inactiveLocationArray = [String]() 
var activeLocationArray = [String]() 
let locationArrays: [[String]] = [inactiveLocationArray,activeLocationArray] 

Возможно, он не делает то, что вы ожидать или желание, но она работает. Результатом является массив массивов, как и ожидалось.

but it gives error: Value of type (NSObject) ->() -> Controller has no member activeLocationArray

Это потому, что ваш код находится в неправильном месте . Весь исполняемый код должен быть внутри какой-либо функции. Твой нет. Пример:

class Controller : NSObject { 
    func someMethod() { 
     var inactiveLocationArray = [String]() 
     var activeLocationArray = [String]() 
     let locationArrays: [[String]] = [inactiveLocationArray,activeLocationArray] 
    } 
} 

Если переместить let locationArrays строки из его методы, содержащей (здесь, someMethod), конечно, он не будет компилироваться. Но это не имеет ничего общего с массивами. Это связано с тем, что строка является исполняемым кодом и не может жить в эфире.

Смежные вопросы