1
我目前正在学习Swift,正在试验数据结构。在可能的代码中,我有一些名字(String)和几个任务(String of Array)的例程。这些值在一个结构中。Swift - 追加到结构中的数组
所以我试图在数组初始化之后向数组添加另一个值。我的代码实际上工作,但我真的觉得它非常奇怪,不要认为,这是它应该完成的方式。
var routineMgr: routineManager = routineManager();
struct routine{
var name = "Name";
var tasks = [String]();
}
class routineManager: NSObject {
var routines = [routine]();
func addTask(name: String, desc: String){
//init routines with name and an array with certain values, here "Hallo" & "Moin"
routines.append(routine(name: name, tasks: ["Hallo","Moin"]));
//so i just put this part here to make the example shorter, but it would be in ad different function to make more sense
//adding a new value ("Salut") to the tasks array in the first routine
//getting current array
var tempArray = routines[0].tasks;
//appending new value to current value
tempArray.append("Salut");
//replacing old routine with a copy (same name), but the new array (with the appended salut)
routines[0] = routine(name: routines[0].name, tasks: tempArray);
}
}
我已经尝试了一些(我)“更正确”的方式,如:
routines[0].tasks.append("Salut");
但我总是得到吨的错误,我也说不明白。
所以我现在的问题是:它是如何正确地完成的?为什么第二种方式不起作用?
您的帮助和建议真的很感谢!
谢谢@vacawama我想念那!我已经更新了答案 – Icaro