很抱歉这个愚蠢的问题,但我在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版本中不起作用
答案 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" })