我有这些数组:
var inactiveLocationArray = [String]()
var activeLocationArray = [String]()
我想将它们添加到这样的数组中:
let locationArrays: [[String]] = [self.inactiveLocationArray,self.activeLocationArray]
但它给出了错误: 类型的值(NSObject) - > () - > Controller没有成员activeLocationArray
这实际上有效:
let locationArrays: [[String]] = [["test", "testas"]]
答案 0 :(得分:1)
您的代码既可以编译也可以完美运行:
var inactiveLocationArray = [String]()
var activeLocationArray = [String]()
let locationArrays: [[String]] = [inactiveLocationArray,activeLocationArray]
也许它没有做你所期望的或欲望,但它确实有效。结果是一个数组数组,正如预期的那样。
但它给出了错误:类型的值(NSObject) - > () - > Controller没有成员activeLocationArray
那是因为您的代码位于错误的位置。所有可执行代码必须在某种函数内。你的不是。例如:
class Controller : NSObject {
func someMethod() {
var inactiveLocationArray = [String]()
var activeLocationArray = [String]()
let locationArrays: [[String]] = [inactiveLocationArray,activeLocationArray]
}
}
如果您将let locationArrays
行移出其包含的方法(此处为someMethod
),请确保它不会编译。但这与数组无关。它与线路是可执行代码的事实有关,并且不能在以太网中生存。