Swift 3:将字符附加到数组

ran*_*its 0 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'

接近这个的正确方法是什么?

ZeM*_*oon 6

您需要使用该append(contentsOf:)方法.

foo.append(contentsOf: text.characters.map { String($0) })
Run Code Online (Sandbox Code Playgroud)

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

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