以不区分大小写的方式匹配数组中的字符串值关联枚举

问题描述 投票:0回答:2

您将如何更改此代码以确保c1c2均为true

enum Type: Equatable {
    case int(Int)
    case string(String)
}

let ts: [Type] = [.string("abc"), .string("def")]
let c1 = ts.contains(Type.string("abc")) // true
let c2 = ts.contains(Type.string("ABC")) // false

抱歉,如果已经存在答案,我确实进行了搜索,但是...

arrays swift enums case-insensitive
2个回答
0
投票

尝试


0
投票

您只需要自己定义Equatable一致性即可。对于比较两个string情况的情况,请使用string.caseInsensitiveCompare而不是默认的综合实现,该实现只对两个==关联值使用String

© www.soinside.com 2019 - 2024. All rights reserved.