Ios 无法在Swift中将空数组添加到字典中

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?

我想用3个空数组填充字典,我使用以下代码:

定义:

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