我使用这一行将 indexPath.row
附加到字典中的数组中。
var downloadQ = [Int: [Int]]()
var id = 1
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
downloadQ[id]?.append(indexPath.row)
print("downloadQ:\(downloadQ)")
}
还有这条线要检查。
print("downloadQ:\(downloadQ)")
但我的数组没有在控制台中附加 indexPath.row
我得到这个 downloadQ:[:]
如何解决?
当您创建字典时,它最初是空的,也就是说,它不包含任何键的任何数组。
当你说 downloadQ[id]?.append(indexPath.row)
时,downloadQ[id]
是 nil
你从来没有为键 id
存储了一个数组。然后忽略附加,因为您有条件地解包 downloadQ[id]
.
您需要处理键没有数组的情况。 nil 合并运算符是一种很好的方法。类似的东西
var theArray = downloadQ[id] ?? [Int]()
theArray.append(indexPath.row)
downloadQ[id] = theArray
关于ios - 在字典内的数组中追加 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49462035/
欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://jike.in/) | Powered by Discuz! X3.4 |