【发布时间】:2016-02-18 11:18:05
【问题描述】:
所以由于某种原因我不能这样做......多年来一直在编码,Swift 自从它发布以来,不知何故这从来都不是问题。我错过了什么吗?
var categories: [Int : Category] = [:]
现在我无法执行 categories.setObject() 之类的操作,甚至执行 categories[0] = Category() 仍然不会在字典中创建该元素,但也不会引发任何错误。
即使是简单的var dict: [String : String] = [:],你也可以做这个例子
注意:我意识到这可能是一个非常简单的问题,但我已经完成了我的挖掘......我不只是在这里发帖,因为我懒得做研究。哈哈
编辑
类别定义
struct Category {
var id: Int!
var name: String!
}
超级简单...
【问题讨论】:
-
setObject() 可被动态类型的字典访问。我认为它仅适用于 NSMutableDictionary。
-
这确实对我有用:
var dict: [String: String] = [:]; dict["One"] = "1"; print(dict) // Prints ["One": "1"] -
@AntonBronnikov 嗯......只是为了确定 - 你在 Swift2 上对吗?
-
是的。准确地说,它是“Swift 2.2-dev(LLVM 3ebdbb2c7e,Clang f66c5bb67b,Swift 42591f7cba)”。
-
您的
Category是否有可失败的初始化程序?难道Category()只是简单地返回nil?
标签: swift dictionary swift2