Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【Swift4】(7) 枚举 | 应用

【Swift4】(7) 枚举 | 应用

作者头像
前端修罗场
发布于 2023-10-07 10:24:54
发布于 2023-10-07 10:24:54
15400
代码可运行
举报
文章被收录于专栏:Web 技术Web 技术
运行总次数:0
代码可运行

枚举基本使用

表述一组值

枚举相当于创建了一种新的数据类型,而类型的取值由里面的case值进行表征

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
enum CompassPoint { // 大写开头
    case north,west,east,south
}
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
enum GameEnding {
    case Win
    case Lose
    case Draw
}

var yourScore:Int  = 100
var enemyScore:Int = 100

var thisGameEnding:GameEnding
if yourScore > enemyScore {thisGameEnding = GameEnding.Win}
else if yourScore == enemyScore {thisGameEnding = GameEnding.Draw}
else {thisGameEnding = .Lose}  //可省略GameEnding
switch thisGameEnding
{
case .Win: print("win") 
case .Draw: print("Draw")
case .Lose: print("Lose")
}
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
enum VowleCharacter:Character {
    case A = "a"
    case E = "e"
    case I = "i"
    case O = "o"
    case U = "u"
}

let vowelA = VowleCharacter.A

var userInputCharacter:Character = "a"
if userInputCharacter == vowelA.rawValue
{
    print("it is an 'a'")   //"it is an 'a'\n"
}else {
    print("it is not an 'a'")
}
灵活使用
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
enum Barcode {
    case UPCA(Int,Int,Int,Int)
    case QRCode(String)   //将枚举变量QRCode关联为String类型
}

let productCodeA = Barcode.UPCA(4, 102, 306, 8)
let productCodeB = Barcode.QRCode("This is a infomation")

switch productCodeA {
case .UPCA(let numberSystem,let manufacture,let identifier,let check):
    print("UPC-A with value of \(numberSystem), \(manufacture), \(identifier),\(check).")   //"UPC-A with value of 4, 102, 306,8.\n"
case .QRCode(let productCode):
    print("QRCode with value of \(productCode).")
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Swift讲解专题九——枚举 原
        在Objective-C语言中,没有实际上是整型数据,Swift中的枚举则更加灵活,开发者可以不为其分配值类型把枚举作为独立的类型来使用,也可以为其分配值,可以是字符,字符串,整型或者浮点型数据。
珲少
2018/08/15
4570
Swift教程之枚举语法
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/115307.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/10
2560
苹果新的编程语言 Swift 语言进阶(七)--枚举、结构、类
Swift语言中,具有类特征的类型包含三种,即枚举类型、结构类型(包含基本类型,基本类型实际都是结构类型的特例)、类。当中枚举类型、结构类型是属于值类型,类属于引用类型。三种类型都可以加入�属性、方法、下标方法,可以使用扩展进行功能扩展,使用协议等。
全栈程序员站长
2022/07/09
1.1K0
Swift学习:构造器(下)
本篇主要介绍Swift中构造器的一些特殊用法 一、可失败的构造器 顾名思义,这是用于我们构造过程可能失败情况的构造器。失败的原因可能是给构造器传入无效的参数值,或缺少某种所需的外部资源,又或是不满足某
梧雨北辰
2018/04/24
8210
Swift基础 枚举
翻译自:https://docs.swift.org/swift-book/LanguageGuide/Enumerations.html
郭顺发
2023/07/17
1400
Swift进阶七——面向对象编程
面向对象编程(OOP,Object Oriented Programing)有三大特性:
拉维
2021/02/15
1K0
随译小文,给Swift 枚举关联值加上标签吧
Swift Enum With Labeled Associated Values
小刀c
2023/10/23
1500
随译小文,给Swift 枚举关联值加上标签吧
Swift3.0 - 枚举
基本用法 最简单的定义 a.多行写法 enum CompassPoint { case north case south case east case west } b.单行写法 enum CompassPoint { case north,south,ease,west } 提示: Swift 3.0 开始,定义枚举值,统一小写 指定枚举类型的原始数据类型 enum Rank: Int{ // Int 设置枚举值的类型 // 定义枚举值设置值 ca
酷走天涯
2018/09/14
4510
15.Swift学习之枚举
枚举介绍 概念介绍 枚举定义了一个通用类型的一组相关的值,可以在代码中以一个安全的方式来使用这些值 Swift中的枚举是一等类型, 它可以像类和结构体一样增加属性和方法 在 C/OC 语言中枚举指定相关名称为一组整型值,而Swift 中的枚举更加灵活,不必给每一个枚举成员提供一个值,Swift 中的枚举可以提供的值类型有:字符串,字符,整型值,浮点值等 Swift 中的枚举可以包含方法 枚举类型的语法 使用enum关键词并且把它们的整个定义放在一对大括号内 enum SomeEnumeration {
YungFan
2018/10/22
5680
Swift系列四 - 枚举
Swift枚举和C/OC语言不一样,以前写OC的时候枚举本质是int类型,但Swift中枚举可以是多类型的。
呆呆
2021/05/27
5310
Swift教程(八)--枚举
我们注意到,swift 的每个枚举项前面,都使用一个 case 关键字来标识。除了每行声明一个枚举项,也可以将这些枚举项放在一行中声明,每项之间用逗号分隔:
roc
2019/07/31
6320
Swift基础语法简化版(续)
闭包能够捕获和存储定义在其上下文中的任何常量和变量,即闭合并包裹那些常量和变量,因此被称为“闭包”。
拉维
2020/06/23
1.6K0
万字长文|Swift语法全面解析|附示例
Swift 是一门开发 iOS, macOS, watchOS 和 tvOS 应用的新语言。 swift 是一种安全,快速和互动的编程语言。 swift 支持代码预览(playgrounds),这个特性可以允许程序员在不编译和运行应用程序的前提下运行 Swift 代码并实时查看结果。
悟空聊架构
2020/07/30
3.8K0
窥探Swift之别样的枚举类型
  想必写过程序的童鞋对枚举类型并不陌生吧,使用枚举类型的好处是多多的,在这儿就不做过多的赘述了。Fundation框架和UIKit中的枚举更是数不胜数,枚举可以使你的代码更易阅读并且可以提高可维护性。在Swift语言中的枚举可谓是让人眼前一亮。在Swift中的枚举不仅保留了大部分编程语言中枚举的特性,同时还添加了一些好用而且实用的新特性,在本篇博客中将领略一些Swift中枚举类型的魅力。   有小伙伴会问,不就是枚举么,有什么好说的。在Swift中的枚举怎不然,Swift中的枚举的功能要强大的多,不仅可以
lizelu
2018/01/11
1K0
Swift基础语法(二)
我们之前介绍的数组Array、字典Dictionary等,都是值类型,而函数是引用类型。
拉维
2020/06/02
2.3K0
Swift-enum
Allocates a reference-counted @box on the heap large enough to hold a value of type T
Wilbur-L
2021/03/11
1.1K0
多路分发De实现
比如要执行一个通用的数学计算,计算表达式可能是a.plus(b),但是不知道a和b的具体类型,如果按照普通的做法,需要对a和b做两次类型判断,这种写法不够优雅。
阿提说说
2022/12/02
8140
swift 枚举(枚举关联值、枚举原始值、递归枚举等)
注意:Swift枚举在创建时未分配默认整数值。spring,summer,autumn和winter不等于隐式0,1,2和3。相反,这些值的类型是已经明确定义好的Season类型
xy_ss
2023/11/22
4310
Swift3.0 - 真的很简单
中文翻译文档 https://github.com/numbbbbb/the-swift-programming-language-in-chinese
酷走天涯
2018/09/14
8830
Swift3.0 - 真的很简单
swift3.0之后的Error处理
在之前的版本中,Swift中Error与OC中NSError没有关系。但是现在两者可以互相强转。 我们看看两者的区别:Error是一个实现Error协议的枚举或者结构体,对外能够获取的具体信息只有rawValue。但是我们知道NSError是有UserInfo和domain的。 先来看看Swift中Error 枚举Error: enum LoginError: Error { case LoginSucess case LoginPasswordWrong case LoginMob
王大锤
2018/05/17
1.3K0
相关推荐
Swift讲解专题九——枚举 原
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验