gpt4 book ai didi

arrays - 如何创建谓词以在 Swift 中过滤具有关联值的枚举数组?

转载 作者:搜寻专家 更新时间:2023-10-30 22:04:27 25 4
gpt4 key购买 nike

enum EnumType {
case WithString(String)
}

var enums = [EnumType]()

enums.append(EnumType.WithString("A"))
enums.append(EnumType.WithString("B"))
enums.append(EnumType.WithString("C"))
enums.append(EnumType.WithString("D"))
enums.append(EnumType.WithString("E"))
enums.append(EnumType.WithString("F"))

如何过滤我的 enums 数组以找到关联值等于 C 的数组。我需要使用什么谓词

最佳答案

过滤器函数既可以作为数组的全局函数调用,也可以作为实例方法调用(我更喜欢后者,因为它更面向对象)。

它接受一个带有一个参数(被评估的元素)的闭包,该参数返回一个 bool 值(指示该元素是否符合所需条件)。

因为在明确的情况下它是一个简单的闭包,所以可以使用缩写形式。

我想其他“With”案例会被添加到您的枚举中,因此您可以使用类似的东西:

let filteredArray = enums.filter { 
switch $0 {
case let .WithString(value):
return value == "C"
default:
return false
}
}

这应该可以解决您的示例中的问题。

关于arrays - 如何创建谓词以在 Swift 中过滤具有关联值的枚举数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30973826/

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