Я новичок в программировании, так что это может быть основной вопрос. Я пытаюсь работать с вложенными массивами в 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]'
соответственно.
Есть ли способ обойти это?
По какой-то причине [] заставляет Swift создавать NSArray, к которому нельзя добавить объекты! Странное поведение, когда он, вероятно, должен просто отказаться от компиляции в ситуации, когда он не может определить тип пустого массива. –
Да, это странное поведение. –
Yup, это работает, спасибо большое. Я просто попробовал функцию .append(), и теперь она работает после указания типа. – Anirudh