如何在Set <t>上使用map方法?

时间:2016-02-20 06:40:37

标签: swift

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

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

如何在Set&lt; T&gt;?

上使用map方法

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

2 个答案:

答案 0 :(得分:1)

问题在于set.map(真的CollectionType.map)会返回Array,而不是Set。因此:

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

通过[String]工作并离开您,您可以使用构造函数将其转换回Set<String>

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

答案 1 :(得分:0)

啊,答案很简单 - 感谢其他社区的帮助!

let set: Set<String> = ["foo1", "foo2", "foo3"]
let res: Set<String> = Set(set.map { return $0+"_bar" })