【问题标题】:Understanding Equatable in swift 3?在 swift 3 中理解 Equatable?
【发布时间】:2016-09-21 15:08:37
【问题描述】:
我有一个枚举数组,我需要删除其中一个枚举。我已经编写了基于here 的通用删除操作。我们通常使 Equatable 符合 Struct。所以我很好奇 Equatable 在 Enum 中的表现。如果为枚举数组的集合编写通用删除操作不是正确的方法,那么正确的方法是什么?
enum APIEndPoints: Equatable {
case image
case email
case others
}
【问题讨论】:
标签:
ios
arrays
swift
swift3
【解决方案1】:
根据定义,如果两个相同类型的枚举大小写相同,则它们是相等的。例如,.image 等于 .image。这就是为什么您可以使用== 运算符来测试枚举实例以找出某种情况的原因。事实上,这个事实有点像枚举的point。
(顺便说一句,这也是枚举不能存储属性的原因。两个 .image 实例对于同一属性具有不同的存储值将不相等。这将完全击败枚举的目的。)