Ios 无法在Swift中将空数组添加到字典中
我想用3个空数组填充字典,我使用以下代码: 定义:Ios 无法在Swift中将空数组添加到字典中,ios,arrays,swift,dictionary,Ios,Arrays,Swift,Dictionary,我想用3个空数组填充字典,我使用以下代码: 定义: var items: [String:[SomeRecord]] = [:] 代码: 3次作业后,“项目”似乎仍为空。有什么想法吗?将空数组添加到数组字典中是完全正确的。您可以再次检查字典是否确实包含键“1”、“2”和“3”的条目: 请注意,.self前缀在初始值设定项中是多余的,除非您在名为items的初始值设定项中使用参数to或局部变量。因此,在上面这个简单的例子中,.self可以省略。因为您正在修改self.items而不是items?
var items: [String:[SomeRecord]] = [:]
代码:
3次作业后,“项目”似乎仍为空。有什么想法吗?将空数组添加到数组字典中是完全正确的。您可以再次检查字典是否确实包含键
“1”
、“2”
和“3”
的条目:
请注意,
.self
前缀在初始值设定项中是多余的,除非您在名为items
的初始值设定项中使用参数to或局部变量。因此,在上面这个简单的例子中,.self
可以省略。因为您正在修改self.items
而不是items
?这三行代码在class的方法中。在3次赋值之后,“items”似乎仍然为空。
您是如何检查的?检查计数?我目前测试了你的代码,看起来还可以。。。。我有3个助理(3个空数组)@bashan,请编辑你的问题并显示你如何获得数组的代码。
self.items["1"] = []
self.items["2"] = []
self.items["3"] = []
struct SomeRecord {
var myRecord : String
}
class MyClass {
var items: [String:[SomeRecord]] = [:]
init() {
self.items["1"] = []
self.items["2"] = []
self.items["3"] = []
}
}
var myInstance = MyClass()
// simple check
print(myInstance.items.count) // 3
// detailed check
for (key, value) in myInstance.items {
print("key: \(key), value: \(value)")
}
/* key: 2, value: []
key: 1, value: []
key: 3, value: [] */
// appending to empty array: OK
myInstance.items["1"]?.append(SomeRecord(myRecord: "record1.1"))
print(myInstance.items.count) // 3
// adding items to dictionary: OK
myInstance.items["4"] = [SomeRecord(myRecord: "record4.1")]
print(myInstance.items.count) // 4