关闭集合,不需要返回任何东西

时间:2017-01-11 14:00:59

标签: swift functional-programming closures

我正在尝试编写一个函数来向NSAttributedString添加属性。我已经在字典中传递了函数,如...

 tag      attributes
[String : [String : Any]]

然后将这些(标记和属性)传递给另一个函数,以在给定标记内添加属性。

func addAttributes(attributes: [String: Any], forTag tag: String)

我可以做......

for (tag, attributes) in dictionary

但是有没有这样做的封闭方式?

如果我使用平面地图......

dictionary.flatMap { addAtritbutes(attributes: $1, insideTag: $0) }

然后它抱怨我没有使用调用结果返回任何内容。是否有一个功能可以让我在没有警告的情况下这样做?

由于

1 个答案:

答案 0 :(得分:2)

你可以使用forEach封闭。

dictionary.forEach {
    addAtritbutes(attributes: $0.value, insideTag: $0.key)
}