倾倒

dump 通过反射(镜像)打印对象的内容。

阵列的详细视图:

let names = ["Joe", "Jane", "Jim", "Joyce"]
dump(names)

打印:

▿4 个元素
- [0]:乔
- [1]:简
- [2]:吉姆
- [3]:乔伊斯

对于字典:

let attributes = ["foo": 10, "bar": 33, "baz": 42]
dump(attributes)

打印:

▿3 个键/值对
▿[0] :( 2 个元素)
- .0:bar
- .1:
33▿[1] :( 2 个元素)
- .0:baz
- .1:
42▿[2] :( 2 个元素)
- .0:foo
- .1:10

dump 被声明为 dump(_:name:indent:maxDepth:maxItems:)

第一个参数没有标签。

还有其他可用的参数,例如 name 为被检查对象设置标签:

dump(attributes, name: "mirroring")

打印:

▿镜像:3 个键/值对
▿[0] :( 2 个元素)
- .0:bar
- .1:
33▿[1] :( 2 个元素)
- .0:baz
- .1:
42▿[2] :(2 个元素)
- .0:foo
- .1:10

你也可以选择仅使用 maxItems:打印一定数量的项目,使用 maxDepth:将对象解析到一定深度,并使用 indent:更改打印对象的缩进。