Swift:.contains(where:) 使用键路径表达式 [重复]
Posted
技术标签:
【中文标题】Swift:.contains(where:) 使用键路径表达式 [重复]【英文标题】:Swift: .contains(where:) using key-path expression [duplicate] 【发布时间】:2021-12-11 02:31:41 【问题描述】:有没有办法使用键路径表达式来简化 Swift contains(where:
) 中的样板代码?
例如
struct Struct
let bool: Bool
let structs = [
Struct(bool: false),
Struct(bool: false),
Struct(bool: true),
Struct(bool: false),
Struct(bool: false)
]
let hasTruth = structs.contains $0.bool
print(hasTruth) // true
上面的例子是否可以用 Swift 表达,在 struct Struct
上使用 \.bool
,而不使用 structs.filter(\.bool).count > 0
?
【问题讨论】:
structs.contains(where: \.bool)
???
【参考方案1】:
是的,您只需将密钥路径传递给 contains(where:)
而无需闭包,就像使用 filter
一样。
let hasTruth = structs.contains(where: \.bool)
【讨论】:
以上是关于Swift:.contains(where:) 使用键路径表达式 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
Swift 2.2 - 'String' 类型的值没有成员'contains' [重复]
尝试使用 where array-contains 查询 firebase,如何等待接收数据?