语言:Swift
我声明了一个值为数组的字典,如下所示:
var unloadedImagesRows = [String:[Int]]()
private func addToUnloadedImagesRow(row: Int, forLocation:String!) {
print("addToUnloadedImagesRow 0: row: \(row)")
var unloadedRows = imagesRowForLocation(forLocation)
unloadedRows!.append(row)
}
private func imagesRowForLocation(location:String!) -> [Int]! {
var unloadedRows = unloadedImagesRows[location];
if unloadedRows == nil {
unloadedRows = [Int]()
unloadedImagesRows[location] = unloadedRows
}
return unloadedRows
}
private func someMethod() {
addToUnloadedImagesRow(rowIndex, forLocation: event.iconImg)
...
}
“unloadedRows!.append(row)”有效,我在调试器中看到计数增加到 1。
但是,下次我检索“var unloadedRows = unloadedImagesRows[location]”行中的值时,我得到一个包含 0 个值的数组的结果。
如何实现数组值的字典,并将新值分配(即追加)到数组?
最佳答案
var unloadedRows = imagesRowForLocation(forLocation)
unloadedRows!.append(row)
unloadedImagesRows[forLocation] = unloadedRows!
您按值检索数组,即创建存储在字典中的数组的另一个实例。因此,您应该在附加值后将其重新设置到字典中
关于Swift 语言 : How do I implement a dictionary of array values, 并将新值分配(即追加)到数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36563652/