【发布时间】:2017-09-14 23:20:42
【问题描述】:
尝试在 Playground 中运行此代码时出现 extraneous argument label 'contentsOf:' in call
array.append(contentsOf: test) 错误:
import Cocoa
var array:[Any] = []
let test = [""]
array.append(contentsOf: [""])
array.append(contentsOf: test)
为什么会这样?据我了解,有两个相等的空字符串数组。
【问题讨论】:
-
只需将测试声明为
let test:[Any] = [""],它就会停止抱怨。另一种选择是更改数组类型var array:[String] = [] -
test(类型为[String])必须先转换为[Any],然后才能附加。此过程要求将每个组成部分String装箱到协议见证表中。由于它是一个O(n)操作,因此编译器最好不要在不通知您这种转换正在发生的情况下静默执行此操作。 -
检查数组中是否有任何拼写错误或混淆的不区分大小写的变量
标签: arrays swift compiler-errors append