【发布时间】:2016-09-17 13:54:54
【问题描述】:
我在 Swift 3.0 中进行了测试。我想将array1 添加到array2,示例和错误如下:
var array1: [String?] = ["good", "bad"]
var array2 = [String!]()
array2.append(array1)
//Cannot convert value of type '[String?]' to expected argument type 'String!'
array2.append(contentsOf: array1)
//Extraneous argument label 'contentsOf:'in call
我知道如果我换成
var array2 = [String?]()
array2.append(contentsOf: array1)
有效! 如果我不改变类型,我应该如何解决这个问题?
【问题讨论】:
-
array2.append(contentsOf: array1 as [String!])呢? -
滥用隐式展开可选的好例子。 ;-)
-
你能解释一下为什么你需要 array2 是隐式解包字符串类型吗?
-
@SamM 其实我只是想试试看是否可以,没有任何特殊原因。