Swift中的枚举与实际示例

介绍

枚举(Enum)为一组相关值定义一种通用类型,并使您能够在代码中以类型安全的方式使用这些值。

假设我们有一个名为dayType的方法,该方法接受一周中的任何一天,然后返回WeekendSaturday and SundayWeekdayMonday, Tuesday, Wednessday, Thursday and Friday并返回This is not a valid date因为它无法识别已通过的内容进去。 该函数将按方面工作,但是当您实际要传递friday ,即使我们实际上要键入的是friday您误输入了friday时会发生什么。 上面的开关转到默认值。 This is not a valid date 。 这就是类型安全的enum带入表中。 它通过为一组相关值提供通用类型来帮助我们避免此类风险,如下所示:

通过定义用于保存日期的枚举,我们已经能够消除String的使用。 我们不需要在switch语句中的day枚举的每个声明之前使用Day追加,因为我们已经将day分配为Day类型。 因此,可以将dayType函数简化为以下形式:

我们必须了解,枚举最适合于声明具有有限可能状态的类型,例如方向(北,南,西,东),运动(上,下,左,右)等。

枚举值

我们可以为每个enum案例分配值。 如果enum本身确实与某物有关,则这很有用

我们可以使用rawValue关键字访问分配给枚举的值。 要访问上面的Week枚举,我们可以使用Week.Monday.rawValue ,它将返回Weekday

枚举关联值

关联值是将附加信息附加到enum案例的一种绝佳方法。 假设您正在编写交易引擎,则有两种不同的可能的交易类型,即买入和卖出,它们将具有特定的库存和金额。 我们可以使用如下的关联枚举值来表示

枚举方法

我们还可以在如下enum定义方法

注意上面的代码片段,对于enum每种情况,func描述都将返回“ This is a apple device”。 为了避免这种情况,我们可以在以下描述方法中使用switch语句

很高兴与您分享这篇文章。 如果您喜欢本文,请通过鼓掌👏表示支持。 感谢您的时间,请确保关注我或在comment下方发表您的评论