ios - 根据属性删除数组中的特定对象?

标签 ios arrays swift loops

我有一系列饮料浇头,想删除与饮料无关的那些,这是我的代码,但我不知道如何从数组中删除浇头,如果它不是' 在标准范围内。

我只能在索引路径处删除,如果我们添加更多浇头等,这可能会改变,所以看起来不准确?

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

基本上,如果用户选择了 Tea,它会查找仅限于咖啡的浇头,然后我需要删除那些响应“C”属性的浇头,但我看不出如何做?

感谢您的帮助!

最佳答案

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

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

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

关于ios - 根据属性删除数组中的特定对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44614661/

相关文章:

iphone - 滚动uitableview时图像恢复为原始图像

javascript - 更改数组的值更改原始数组 JavaScript

php - 比较 PHP 中的两个二维数组与 array_diff 错误

ios - 如何使用对象映射器解析以下 JSON

ios - UIAlertController 删除 segue 上的标签栏

ios - 使用未声明的标识符 'kUTTypeMovie'

ios - 将相同的 View Controller 插入堆栈会产生奇怪的行为

ios - 为父级Control应用开发和实现MDM技术

arrays - 检查特殊数组方程的子集和

swift - NSTask 在命令中添加额外的单引号