使用 Swift 中的对象和键初始化字典 4

Initialise Dictionary with Objects and Keys in Swift 4

我正在尝试使用对象(数组)和相应的键来初始化字典。我遇到了崩溃,它说 [NSDictionary initWithObjects:forKeys:]: count of objects (12) differents from count of keys (1)" 。不确定我在这里遗漏了什么。有人可以帮忙吗?

下面是我的代码。

 let df = DateFormatter()
        var months = [Any]()

        for monthIndex in 1...12 {
            months.append(df.monthSymbols[monthIndex - 1])
        }

        let monthDictionay = NSDictionary.init(objects: months, forKeys: ["values" as NSCopying]) 

它在最后一行代码中崩溃了。

下面是我想要达到的效果

我的月词典应该有

values =     (
        January,
        February,
        March,
        April,
        May,
        June,
        July,
        August,
        September,
        October,
        November,
        December
    );

您正在使用 NSDictionary(不是 Swift 的 Dictionary)方法,该方法采用对象数组和匹配的键数组 - 注意复数形式!您有一个键,其匹配值是一个数组。只需使用 Swift 字典文字:

let monthDictionary = [ "values" : months ]

注意:如果您打算添加更多键和值,您将希望使用 var 而不是 let