从swift 3迁移到swift 4 – 无法将String转换为期望的String.Element

前端之家收集整理的这篇文章主要介绍了从swift 3迁移到swift 4 – 无法将String转换为期望的String.Element前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我将我的代码swift 3转换为 swift 4并在以下代码获取错误.即使我尝试使用flatmap来压平数组,我也会得到这个

Cannot convert value of type ‘String’ to expected argument type
‘String.Element’ (aka ‘Character’)

if favoritedProducts.contains("helloWorld") {}

下面的代码行不返回[String]而是返回'[String.Element]’如何将其转换为[String].如果我尝试将其转换为[String],它会说它总会失败.

let productIDs = allItems.flatMap{$0.productID}
如果您的Item类型具有类似String的非可选productID属性,请执行此操作
struct Item {
    let productID: String
}

你有一个项目数组

let allItems: [Item] = ...

然后,您可以使用map方法获取productID(s)数组

let productIDs = allItems.map { $0.productID }

现在productIDs是[String].

猜你在找的Swift相关文章