gpt4 book ai didi

ios - 如何从 Swift 中的数组中删除给定自定义类型值的元素

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

我想从数组中删除自定义类型值的元素。

我想将一个变体实例传递给函数以将其从数组中删除,我不想使用 removeAtIndex()。

var favoriteVariants: [Variant]

func removeVariant(variant: Variant)
{
}

最佳答案

如果 VariantEquatable 并且您只想删除第一个匹配的:

if let idx = favoriteVariants.indexOf(variant) {
favoriteVariants.removeAtIndex(idx)
}

如果它不是 Equatable 并且您有一些其他匹配条件来找到一个要删除的条件:

let idx = favoriteVariants.indexOf {
// match $0 to variant
}

if let idx = idx {
favoriteVariants.removeAtIndex(idx)
}

(假设 Swift 2.0——如果是 1.2,它是 find(favoriteVariants, variant) 而不是 indexOf,并且没有一个版本需要闭包,尽管 write one 并不难)

如果你想一次性删除多个:

favoriteVariants = favoriteVariants.filter {
// criteria to _keep_ any given favorite
}

如果您想做的事情足够通用以证明其合理性,那么所有这些都可以包含在扩展中。

关于ios - 如何从 Swift 中的数组中删除给定自定义类型值的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31181255/

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