我正在将代码从 swift 3 转换为 swift 4,并在以下代码中收到此错误。即使当我尝试使用 flatmap 展平数组时我也会得到这个
无法将“String”类型的值转换为预期的参数类型
“String.Element”(又名“字符”)
if favoritedProducts.contains("helloWorld") {}
下面的代码行不返回 [String],而是返回“[String.Element]” 如何将其转换为 [String]。如果我尝试将其转换为 [String],它会说它总是会失败。
let productIDs = allItems.flatMap{$0.productID}
如果你有一个Item
键入非可选的 productID
类型的属性String
像这样
struct Item {
let productID: String
}
你有一系列Item
let allItems: [Item] = ...
然后你可以得到一个数组productID(s)
使用map
method
let productIDs = allItems.map { $0.productID }
Now productIDs
is [String]
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)