swift 中的双方括号是什么意思?

what does double square brackets mean in swift?

下面是swift中的示例代码。

var loadedMessages = [[Message]]()

消息是自定义的class。我不确定 [[Message]] () 在做什么。

它指定您的变量 loadedMessages 是包含 Message 个对象的数组数组。 loadedMessages 的 JSON 表示可能如下所示:

loadedMessages: [
  [ <Message>, <Message>, <Message> ],
  [ <Message>, <Message>, <Message> ]
]

在 Playground 上快速实现类似的东西可以让您对情况有一个很好的反省:

var foo = [[String]]()
foo.append(["bar"])
foo[0][0] // reveals "bar"

意思是消息数组的数组。将方括号之间出现的任何内容视为一个数组,这可以包括另一个数组。

或者,如果您要在没有“shorthand”数组语法的情况下写出来,它将是 Array<Array<Messages>>()