抱歉这个愚蠢的问题,但我在 Swift 文档中找不到答案...
let set: Set<String> = ["foo1", "foo2", "foo3"]
let res: Set<String> = set.map { return $0+"_bar" } // Ambiguous reference to member 'map'
如何在 Set
附:建议“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/