gpt4 book ai didi

ios - 如何快速从通用数组中搜索特定元素,例如 [AnyObject]?

转载 作者:行者123 更新时间:2023-11-30 13:15:47 26 4
gpt4 key购买 nike

我需要在 swift 中搜索 GENERIC 数组是否包含特定元素。

    var arrProducts = [AnyObject]()

arrProducts.append(Article())
arrProducts.append(Flower())
arrProducts.append(Chocolate())

这里的产品可以是我添加到此数组中的任何自定义对象。

现在我想检查 arrProducts 是否包含 3 个自定义类对象中的任何一个

最佳答案

这将检查“arrProducts 是否包含 3 个自定义类对象中的任何一个”。

let isContainingAnyOf3CustomClassObject =
arrProducts.contains {$0 is Article || $0 is Flower || $0 is Chocolate}
//->true
<小时/>

如果需要检索任意3种类型的所有元素,可以使用filter

let elementsOfAny3Types = arrProducts.filter {$0 is Article || $0 is Flower || $0 is Chocolate}

如果你想要第一个元素,可以使用first

let firstElementOfAny3Types = arrProducts.filter {$0 is Article || $0 is Flower || $0 is Chocolate}.first

但这可能更有效:

if let firstMatchingIndex = arrProducts.indexOf({$0 is Article || $0 is Flower || $0 is Chocolate}) {
let firstMatchingElement = arrProducts[firstMatchingIndex]
print(firstMatchingElement)
}

如果以上任何内容不是您的意思,您需要修改您的问题并更准确地描述您真正想要实现的目标。

关于ios - 如何快速从通用数组中搜索特定元素,例如 [AnyObject]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38238965/

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