我有类似以下代码的产品类:
class Product {
var productID = ""
var hasBeenAddedToWishList = false
}
然后我有两个产品阵列
let wishListedProduct = [productx,producty,productz] // from core data
let productList = [productx,producty,productz] // from server
如果用户先前已将产品添加到核心数据中的愿望清单,则我要给出填充的爱图标。
所以我想在上面的数组之间循环,所以如果wishListedProduct
的第一个索引中的乘积与productList
的第一个索引具有相同的ID,那么我需要更改hasBeenAddedToWishList
的属性为true。该怎么做?
我尝试使用下面的代码,但是我找不到想要的东西
for i in theWishListProducts {
products.map {
if $0.productID == i.productID {
$0.hasBeenAddedToWishList = true
}
}
}
答案 0 :(得分:2)
例如:
let wishListedProduct : [Product] = // whatever
let productList : [Product] = // whatever
let wishListedIds = wishListedProduct.map {$0.productID}
for product in productList {
if wishListedIds.contains(product.productID) {
product.hasBeenAddedToWishList = true
}
}