我对编程很陌生,所以这可能是一个基本问题。我正在尝试使用Swift中的嵌套数组。
@IBAction func testFuncTrigger(sender: UIButton) {
var tempTestArray = [];
tempTestArray = [["cos",["x"]],["sin",["cos",["x"]]],"5*x"];
tempTestArray[1] = "8*x";
tempTestArray[1] = ["8*x"];
tempTestArray[1] = ["e^",["sin",["x"]]];
}
给出错误“无法分配给此表达式的结果”。
还试图把
@IBAction func testFuncTrigger(sender: UIButton) {
var tempTestArray = [];
tempTestArray = [["cos",["x"]],["sin",["cos",["x"]]],"5*x"];
tempTestArray[1] += "8*x";
tempTestArray[1] += ["8*x"];
tempTestArray[1] += ["e^",["sin",["x"]]];
}
给出错误
Binary operator "+=" cannot be applied to operands of type 'AnyObject' and 'String'
和
Binary operator "+=" cannot be applied to operands of type 'AnyObject' and '[String]'
和
Binary operator "+=" cannot be applied to operands of type 'AnyObject' and '[NSObject]'
分别
无论如何都可以解决这个问题吗?
答案 0 :(得分:1)
如果你声明一个这样的数组:
var tempTestArray = []
此数组的类型为NSArray
,因为您没有为数组定义任何类型。并且您不能以任何方式将任何元素添加到NSArray
。
为tempTestArray
提供AnyObject
这样的类型:
var tempTestArray = [AnyObject]()
它会正常工作。