Swift-类、结构体、枚举
001-枚举
//枚举 swift 中不会被赋于默认的整型值 enum someEnumeration {case northcase sourthcase eastcase west } //多个成员值要写在一行,用逗号隔开 enum Planet {case mercury,earth,mars } var directionHead = someEnumeration.westdirectionHead = .east//使用Switch匹配单个的枚举值switch directionHead {case .north:print("north")case .sourth:print("sourth")case .west:print("west")case .east:print("east")default:print("None Of This Direction")}
//枚举关联值
enum BarCode {case upc(Int,Int,Int,Int) //根据数字识别商品case qrCode(String) //根据代码识别商品 }//创建一个条形码var productBar = BarCode.upc(8, 8, 3, 4)productBar = .qrCode("ABCDE")//upc被qrCode代替
//枚举原始值
//枚举的原始值 隐士赋值 enum ASCIIControlChar : Character {case tab = "\t"case lineFeed = "\n"case carriageReturn = "\r" } //字符串的默认值是枚举值本身 enum Planet:Int{case mercury = 1,venus,earth,mars } //获取枚举变量的原始值let earthOrder = Planet.earth.rawValueprint(earthOrder)//输出结果为 3
//枚举递归
//枚举递归 indirect enum Arithmetic {case number(Int)case addition(Arithmetic,Arithmetic)case multiplication (Arithmetic,Arithmetic) }//创建一个枚举递归表达式let five = Arithmetic.number(5)let four = Arithmetic.number(4)let sum = Arithmetic.addition(five, four)let product = Arithmetic.multiplication(sum, five)// (5+4) * 5print(product)
//类
//类的声明: class Student{var name:String = ""var age:Int = 18 } //访问属性classItem.name = "小子"print(classItem.name)//小子
//结构体:
//结构体 struct teacher {var name:String = ""var age:Int = 20 } let myTeacher = teacher()print(myTeacher)//teacher(name: "", age: 20)
属性:
//存储属性 (变量和常量) class Student {var name:String = ""var age:Int = 10 } class newClass {//lazy var name = "小名" //懒加载属性var lastName = "小小"var firstName = "苏"var name:String{get {return firstName + lastName}} } class StepCount {var examplePro:Int = 10 {willSet (newTotal){//在属性更改之前做的操作print("新值是\(newTotal)")}didSet {//在属性更改之后做的操作print("新值-旧值\(examplePro-oldValue)")}} }
//调用:
var allName = newClass()print(allName.name) //苏小小//只读属性只能用var来描述let stepCount = StepCount() stepCount.examplePro = 200 //新值是200 //新值-旧值190
转载于:https://www.cnblogs.com/StevenHuSir/p/Swift_Enum.html
Swift-类、结构体、枚举相关推荐
- 结构体+枚举+联合体
结构体+枚举+联合体 结构体 结构体的声明 结构体的嵌套+链表 结构体变量的初始化 结构体的内存对齐 一.首先得掌握结构体的对齐规则 二.一些具体的例子 为什么存在内存对齐? 位段 位段的内存保存 枚 ...
- iOS(OC、swift) 结构体和类的区别
OC: 相同点:都可以将多个数据封装为一个整体. 不同点: 1. 结构体只能封装数据,而类还可以封装行为. 2. 赋值 :结构体是(拷贝),对象之间是(地址) 3. 结构体变量分配在栈空间(如果是一个 ...
- Swift Struct结构体
一天一步,快乐前进: 结构体: 结构体就是结构化程序的产物.结构体是由另个或多个类型相同或者不同的数据组成的数据集合,其中的数据或者方法被称为它的成员或成员方法.结构体的成员可以包括属性,类型别名.数 ...
- C# 结构体 枚举类型
注意:枚举类型和结构体都属于值类型. 结构体:就是一个自定义的集合,里面可以放各种类型的元素,用法大体跟集合一样. 一.定义的方法: struct student { public int nianl ...
- 【2017-3-2】集合 结构体 枚举
(一)集合 1.定义:不同类型,不固定长度. 要使用集合,必须先引用命名空间,using System.Collections: ArrayList 变量名 = new ArrayList(); - ...
- 【结构体——枚举——联合】
文章目录 前言 结构体 结构体类型的声明 结构的自引用 结构体变量的定义和初始化 结构体内存对齐 修改默认对齐数 结构体传参 结构体实现位段(位段的填充&可移植性) 枚举 枚举类型的定义 枚举 ...
- swift_018(Swift 的结构体)
//***********swift学习之18--结构体--*************************** // Swift 结构体是构建代码所用的一种通用且灵活的构造体. // 我们可以为结 ...
- 黑马程序员--typedef关键字和结构体 枚举类型
typedef 关键字: typedef int MyTnt; //给int 提供一个别名 typedef MyInt MyInt2; typedef (char *) String 结构体: st ...
- C/C++计算类/结构体和联合体(union)所占内存大小(内存对齐问题)
目录 一,内存对齐的三条规则 二,注意事项: 三,举例说明 1,示例1 2,示例2 3,示例3 4,示例4 四,联合体(union) 五,字节对齐的原因 六,计算练习 一,内存对齐的三条规则 数据成员 ...
- 【C语言】自定义类型 结构体 枚举 联合
结构体的基础知识 结构体是一些值的集合,这些值称为成员变量.结构体的每个成员可以是不同类型的变量. 结构体的声明 定义一个学生的结构体 struct Stu {char name[20];//名字in ...
最新文章
- eip协议通信_3月免费公开课伺服、通信等课程重磅发布,火热报名中
- python 图像分割_Python怎么实现图片分割?
- IBM服务器raid5崩溃数据恢复方案及过程
- 推荐:介绍一个UndoFramework
- 整型转化 血泪的教训
- python爬虫小工具——editplus
- Docker学习一:Docker简介与安装
- HDU4026 Unlock the Cell Phone [状态压缩DP]
- emacs VS vim 替换为回车符
- JavaScript语言核心(五)-- 异步 async/await
- 电脑记事本在哪个文件夹
- 资深3D角色建模师对于游戏角色设计浅析:细节与风格
- 做企业要有磨刀不误砍柴工的精神
- phpcms v9文件上传的四次绕过复现
- java spel_Java spring SPEL表达式注入
- 后端编译与优化(JIT,即时编译器)
- oracle审计查询sql语句,Oracle 数据库审计
- 麻烦攻克食材串味难题!保姆级除味妙招请查收
- 线性代数之矩阵的属性和运算
- CUDA10 下载百度云 cuDnn下载(Windows版 )
热门文章
- codevs 4650 破损的键盘(链表)
- Hadoop! | 大数据百科 | 数据观 | 中国大数据产业观察_大数据门户
- 进程外Session保存和全局文件错误捕获
- POJ2104 K-th number 函数式线段树
- 线性表的顺序表示以及实现
- 速度提升一倍,无需实例掩码预测即可实现全景分割
- 综述 | Google-斯坦福发布~深度学习统计力学
- 关于文件整理的一些心得
- oracle中sql语句排序,Oracle SQL排序方式与case语句
- android开发 视图联动_android开发_ViewGroup(组视图)-- 五大布局