Swift语言:如何实现数组值的字典,并为数组分配(即附加)新值?

时间:2016-04-12 04:30:11

标签: 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个值的数组的结果。

如何实现数组值字典,并为数组分配(即附加)新值?

1 个答案:

答案 0 :(得分:1)

var unloadedRows = imagesRowForLocation(forLocation)
unloadedRows!.append(row)
unloadedImagesRows[forLocation] = unloadedRows!

按值检索数组,即创建存储在字典中的数组的另一个实例。因此,您应该在追加值

后将其设置回字典中