如何正确使用字典集?

时间:2017-12-04 13:13:59

标签: swift dictionary

这是我的代码:

class className: Codable {
    let comments: [String: String, String:String]
}

我收到以下错误:

  

预期']'在字典类型

     

预期声明

     

线条冥想上的连续声明由';'

分隔

Swift docs开始就这样做了(我想):

let comments: [String: String]

但对我来说,它不会起作用,因为comments中的mongoose.Schema定义如下(在服务器中):

comments: [{
    identifier: String,
    text: String
}]

我定义了注释集合,将其推送到服务器进行测试,如下所示(工作正常):

var comments = ["identifier" : "SomeRandomText", "text": "SomeRandomText"]

现在我的问题是,如何在我的课程中定义commentsCodable扩展comments以匹配服务器中的sed

2 个答案:

答案 0 :(得分:1)

let comments: [String: String]是正确的方法。

你想要一个词典,其键是String s,其值也是String s,这就是上述行声明的内容。

如果在使用初始值声明comments变量的时候检查它的类型(选项点击变量名称),你会发现它的类型是[String:String],这只是一个简写Dictionary<String,String>的符号。

var comments = ["identifier" : "SomeRandomText", "text": "SomeRandomText"] //Here comments is of type [String:String]

答案 1 :(得分:0)

它应该是一个文档数组,所以这样的东西可能会起作用:

class className: Codable {
    let comments: [{String: String, String:String}]
}

用于测试的集合:

var comments = [{"identifier" : "SomeRandomText", "text": "SomeRandomText"}]