这是我的代码:
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"]
现在我的问题是,如何在我的课程中定义comments
,Codable
扩展comments
以匹配服务器中的sed
?
答案 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"}]