swift无法分配此表达式的结果

时间:2015-07-31 06:00:56

标签: swift

我对编程很陌生,所以这可能是一个基本问题。我正在尝试使用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]'

分别

无论如何都可以解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

如果你声明一个这样的数组:

var tempTestArray = []

此数组的类型为NSArray,因为您没有为数组定义任何类型。并且您不能以任何方式将任何元素添加到NSArray

tempTestArray提供AnyObject这样的类型:

var tempTestArray = [AnyObject]()

它会正常工作。