swift - 如何在 Set<T> 上使用映射方法?

标签 swift

抱歉这个愚蠢的问题,但我在 Swift 文档中找不到答案...

let set: Set<String> = ["foo1", "foo2", "foo3"]
let res: Set<String> = set.map { return $0+"_bar" } // Ambiguous reference to member 'map'

如何在 Set 上使用 map 方法?

附:建议“duplicate”问题:1)关于其他问题; 2) 答案在当前 Swift 版本中不起作用

最佳答案

问题是 set.map (确实 CollectionType.map )返回 Array ,不是Set 。因此:

let res = set.map { $0 + "_bar" }

工作并给你留下 [String]您可以将其转换回 Set<String>与构造函数:

let res : Set<String> = Set(set.map{$0 + "_bar"})

关于swift - 如何在 Set<T> 上使用映射方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35520063/

相关文章:

swift - UITableView如何保持滚动到底部[自动滚动]?

ios - 当应用程序准备好显示警报时,从 AppDelegate 显示警报

swift - 将 UIScrollView 发送到后台

ios - 向上/向下计数动画

ios - 如何在 swift 中转换持续时间形式的 youtube api?

Swift SpriteKit GameplayKit 检查 GKStateMachine 不等于状态

ios - SwiftUI ScrollViewReader scrollTo 未按预期工作

swift - iOS8: View 到图层动画

ios - 处理存储在数组中的大图像时内存使用率高或质量好权衡

ios - 在swift 4中从表中获取数据