我有一系列的饮料配料,并且想要删除与该饮料无关的配料,这是我的代码,但是我不知道如何从数组中除去配料标准。

我只能在索引路径处删除,并且如果我们添加更多的浇头等,这可能会更改,因此似乎不准确吗?

for toppings in self.toppings {
    if self.selectedDrink.name == "Tea" {
        if toppings.limit == "C" {
            self.toppings.remove(at: toppings)
        }
    }
}

本质上,如果用户选择“茶”,它会寻找咖啡的浇头,然后我需要删除那些对“C”属性做出响应的浇头,但我看不出怎么做?

谢谢您的帮助!

最佳答案

您可以使用for循环进行就地删除,但这会很棘手,因为您需要迭代回去以避免干扰索引。

一种更简单的方法是过滤数组,然后将其分配回toppings属性,如下所示:

toppings = toppings.filter {$0.limit != "C"}

09-25 17:38