swift - 关闭不需要返回任何东西的集合

标签 swift functional-programming closures

<分区>

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

 tag      attributes
[String : [String : Any]]

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

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

我可以做...

for (tag, attributes) in dictionary

但是是否有关闭的方式来做到这一点?

如果我使用平面 map ...

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

然后它提示我没有返回任何东西/使用调用的结果。是否有允许我在没有警告的情况下执行此操作的功能?

谢谢

最佳答案

您可以为此使用 forEach 闭包。

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

关于swift - 关闭不需要返回任何东西的集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41592907/

相关文章:

swift - 如何在WKWebview中使按钮刷新页面

haskell - $ 和 () 的区别

functional-programming - 如果我在 OCaml 中使用列表创建图形数据结构/算法会有效吗?

functional-programming - 我如何证明 Coq 中的两个 Fibonacci 实现相等?

ios - 在第二个动画之前查看跳跃

swift - 尝试保存段 Controller 的位置

swift SKSpriteNode : Complex Sprite Textures?

Java 8 lambda 范围问题

Swift:使用 as/as 进行转换有什么区别?/as!关键字和 C 风格的转换?

coldfusion - 使用查询排序