gpt4 book ai didi

arrays - 如何在 swift 中过滤具有其他数组值的结构数组?

转载 作者:搜寻专家 更新时间:2023-11-01 06:04:42 27 4
gpt4 key购买 nike

我已经搜索过这个问题,但没有找到任何适合我使用最新版本的 Xcode 和 Swift 的解决方案。我使用三个数组:

1. baseArray[Meal]: array filled with every meal. Not locally saved.

2. favoritesArray[Favorite]: with names of all favorite meals, locally saved by the user with NSKeyedArchiver.
3. filteredArray[Meal]: baseArray but filtered for searchterm. In code:

(filteredArray = baseArray.filter { $0.type == searchtext }}

我使用了 tableView 中的最后一个数组。如果他们想查看所有餐点,filteredArraybaseArray 相同。

我的问题:如何让 filteredArray 知道它有所有最喜欢的食物(所以 Meal.title == Favorite.name)。我如何组合三个数组?

上周我尝试了很多选择,但没有一个奏效。我希望你能帮助我!!

最佳答案

这就是你想要的:

struct Meal {
let title: String
}

struct Favorite {
let name: String
}

let meal1 = Meal(title: "Soup")
let meal2 = Meal(title: "Stew")
let meal3 = Meal(title: "Pizza")

let favorite1 = Favorite(name: "Stew")

let baseArray = [meal1, meal2, meal3]
let favoritesArray = [favorite1]

let favoriteNames = favoritesArray.map { $0.name }

let filteredArray = baseArray.filter { favoriteNames.contains($0.title) }

关于arrays - 如何在 swift 中过滤具有其他数组值的结构数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40804458/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com