了解swift 3中的equatable?

问题描述:

我有一个枚举数组,我需要删除其中一个Enum。我已经写了基于here的通用删除操作。我们通常遵循Equatable to Struct。所以我很好奇Equalable如何在Enum中表现。如果它不是一个正确的方法来写收集枚举数组的通用删除操作,那么什么是正确的?了解swift 3中的equatable?

enum APIEndPoints: Equatable { 
    case image 
    case email 
    case others 
} 

根据定义,相同类型的两个枚举在相同情况下是相等的。因此,例如,.image等于.image。这就是为什么您可以使用==运算符来测试enum实例,以确定什么情况。事实上,这个事实就是枚举的

(这,顺便说一句,也是为什么枚举不能有存储性能。与同一属性的不同的存储值的两个.image情况下将是相等的。这将彻底击垮枚举的目的。)