【发布时间】:2015-10-20 09:23:12
【问题描述】:
我是 Swift 的初学者。这个问题快把我逼疯了。现在看了几个小时,但我无法解决它。非常感谢您的帮助!
我有一个对象数组。我想将对象附加到数组中。每个对象都包含一个 PID 和一个 NAME。CurrentObject 被初始化为 'Queen'。
var stackObjects:[Object] = []
在 UITableView didSelectRowAtIndexPath 中,必须将所选项目添加到数组中:
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
print ("Appending \(currentObject.name)") // The selected one is printed
stackObjects.append(currentObject) // Append the selected
for(var i=0;i< stackObjects.count ; i++) {
let plop:Object = stackObjects[i]
print("#\(i) = \(plop.name)") // Here the array is printed
}
// Get the selected item for the next run
let selectedObject = someArray[indexPath.row]
currentObject.pid = selectedObject.pid
currentObject.name = selectedObject.name
}
我没有在我的代码中的任何其他地方使用数组 stackObjects。
选择和打印时,我得到此输出:
Appending Queen
#0 = Queen
Appending David Bowie
#0 = David Bowie
#1 = David Bowie
Appending Boston
#0 = Boston
#1 = Boston
#2 = Boston
我希望/期待这样的输出::
Appending Queen
#0 = Queen
Appending David Bowie
#0 = Queen
#1 = David Bowie
Appending Boston
#0 = Queen
#1 = David Bowie
#2 = Boston
【问题讨论】:
-
你能把整个代码贴出来吗,我的意思是你在哪里设置 currentObject
-
currentObjects 是 Object 类型,它的值被初始化为“Queen”。只在上面列出的代码中设置。