在尝试将数组追加到Swift中的其他数组时获取"无关的参数标签"

Sta*_*huk 14 arrays compiler-errors append swift

我越来越extraneous argument label 'contentsOf:' in call array.append(contentsOf: test)想在操场上运行该代码时出错:

import Cocoa

var array:[Any] = []
let test = [""]
array.append(contentsOf: [""])
array.append(contentsOf: test)
Run Code Online (Sandbox Code Playgroud)

为什么会这样?据我所知,有两个相等的数组,空字符串.

Rya*_*los 22

要在评论中回答你的具体问题,在这种情况下你只需要施放,以便Swift知道你知道.在这种情况下,由于SKShapeNode向下倾斜SKNode就好了,你可以直接施放as.如果您正在进行可能失败的演员表,您需要使用as?并安全地打开以确保.

var allNodes: [SKNode] = []
let onlyShapeNodes: [SKShapeNode] = []

allNodes.append(contentsOf: onlyShapeNodes as [SKNode])
Run Code Online (Sandbox Code Playgroud)

对于原始的通用示例,这也可以.

var array: [Any] = []
let test = ["", ""]

array.append(contentsOf: [""] as [Any])
array.append(contentsOf: test as [Any])
Run Code Online (Sandbox Code Playgroud)