Swift 3:将字符附加到数组

时间:2017-02-26 04:02:43

标签: swift swift3

我有一个使用以下内容初始化的Swift 3数组:

var foo: [String] = []

在我的一个递归调用的方法中,我试图将一个字符串转换为一个字符数组,但是附加这些字符而不是直接赋值给foo。所以这将编译:

self.foo = text.characters.map { String($0) }

但是下面的休息:

self.foo.append(text.characters.map { String($0) })

它产生的错误是:'map' produces '[T]', not expected contextual result type 'String'

采用这种方法的正确方法是什么?

1 个答案:

答案 0 :(得分:6)

您需要改为使用append(contentsOf:)方法。

foo.append(contentsOf: text.characters.map { String($0) })

此方法可以采用已定义类型的数组。

append()方法需要在数组末尾添加单个元素。