了解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
情况下将不是相等的。这将彻底击垮枚举的目的。)