类型转换as和判断is
import UIKitclass ViewController: UIViewController {override func viewDidLoad() {super.viewDidLoad()checkAndCast()}
}func checkAndCast() {var appleCount = 0var orangeCount = 0let apple1 = Apple(placeOfOriginal: "成都")let apple2 = Apple(placeOfOriginal: "陕西")let apple3 = Apple(placeOfOriginal: "西安")let orange1 = Orange(placeOfOriginal: "昆明")let orange2 = Orange(placeOfOriginal: "台北")//将其放到同一个篮子里,我们这里用数组表示篮子//"苹果的原产地是:成都""橙子的原产地是:昆明""苹果的原产地是:陕西""橙子的原产地是:台北""苹果的原产地是:西安"let basket = [apple1, orange1, apple2, orange2, apple3]for fruit in basket {//as? 类型转换 如果不确定是否转换成功就必须使用这个可选类型,这样即便不成功会返回nil,但是如果强制解封失败就会报错if let apple = fruit as? Apple {apple.description()} else if let orange = fruit as? Orange {orange.description()}//这里的is就是类型判断if fruit is Apple {appleCount += 1} else if fruit is Orange {orangeCount += 1}}debugPrint("一共有\(appleCount)个苹果和\(orangeCount)个橘子")
}class Fruit {let placeOfOriginal:Stringinit(placeOfOriginal: String) {self.placeOfOriginal = placeOfOriginal}
}class Apple: Fruit {func description() {debugPrint("苹果的原产地是:\(placeOfOriginal)")}
}class Orange: Fruit {func description() {debugPrint("橙子的原产地是:\(placeOfOriginal)")}
}
类型转换as和判断is相关推荐
- 前端:JS/17/前篇总结(JS程序的基本语法,变量),数据类型-变量的类型(数值型,字符型,布尔型,未定义型,空型),数据类型转换,typeof()判断数据类型,从字符串提取整数或浮点数的函数
JS程序的基本语法 1,JS是区分大小写的,如:Name和name是不同的: 2,JS中每一条语句,一般以英文的分号(;)结束,在Java中是严格地一定要加上分号,不然会报错:但在JavaScript ...
- matlab 类型转换(类型判断)
char:Convert to character array,转换为字符数组:matlab 下没有 str 字符串类型转换: char(0-255) ⇒ ASCII 码的转换: im2double( ...
- java判断类型_Java中类型判断的几种方式 - 码农小胖哥 - 博客园
1. 前言 在Java这种强类型语言中类型转换.类型判断是经常遇到的.今天就细数一下Java中类型判断的方法方式. 2. instanceof instanceof是Java的一个运算符,用来判断一个 ...
- vb怎么判断整数_VB数学函数大全
Hello大家好,从本节课程开始,我们开启了新的篇章--VB常用内置函数.在VB6.0中,有很多的内置函数,利用好这些函数可以轻松地实现许多功能,减少代码编写量,使程序设计效率更上一层楼.在本章节,我 ...
- char强制类型转换为int_为强制类型转换正名
为强制类型转换正名www.yexiaochen.com 引子 强制类型转换是JavaScript开发人员最头疼的问题之一, 它常被诟病为语言设计上的一个缺陷, 太危险, 应该束之高阁. 作为开发人员 ...
- java 判断类型_Java中类型判断的几种方式
在Java这种强类型语言中类型转换.类型判断是经常遇到的.今天就细数一下Java中类型判断的方法方式.拉勾IT课小编为大家提供java种类型判断方式. instanceof instanceof是Ja ...
- Java中类型判断的几种方式
前言 在Java这种强类型语言中类型转换.类型判断是经常遇到的.今天就细数一下Java中类型判断的方法方式. 2. instanceof instanceof是Java的一个运算符,用来判断一个对象是 ...
- java判断类型_Java中类型判断的几种方式
1. 前言 在Java这种强类型语言中类型转换.类型判断是经常遇到的.今天就细数一下Java中类型判断的方法方式. 2. instanceof instanceof是Java的一个运算符,用来判断一个 ...
- Java SE_封装、继承、object类、super-this关键字、方法重写、多态、instanceof、类型转换
封装 该露的露,该藏的藏 我们程序设计要追求"高内聚,低耦合".高内聚:类的内部数据操作细节自己完成,不允许外部干涉:低耦合:仅暴露少量的方法给外部使用. 封装(数据的隐藏) 通常 ...
最新文章
- 第五届中国企业服务年会:洞见2022数智化的“光与火”
- 牛津大学名誉教授Colin Blakemore:大脑是如何计算的?
- Elasticsearch索引原理
- vue 中watch函数名_VUE中watch用法
- Genymotion模拟器拖入文件报An error occured while deploying the file的错误
- php 在函数里打开链接,JavaScript中打开链接的几种方法介绍
- keras框架实现手写数字识别
- pandas to_csv参数详解_【Python基础】Pandas数据可视化原来也这么厉害
- python怎么输入三个数按大小输出_Python练习一 : 随机输入三数字,按大小顺序输出...
- VALSE2019总结(6)-年度总结-物体检测
- ES11新特性_String.prototype.matchAll方法---JavaScript_ECMAScript_ES6-ES11新特性工作笔记063
- Linux-安装python3环境
- python常用代码大全-python代码大全
- 视频实现blob加密
- mflac格式解密_如何解密QQ音乐的MFLAC和MGG格式
- 控制工程实践(7)——PID四种类型控制器(之比例控制器P)
- 解决:在ubuntu下安装R语言ks包时的error:configuration failed for package ‘rgl’
- 体力活动水平的计算机软件著作权查询,软件著作权被竞争对手抢先,著作权保护的客体对象是谁?...
- (1)初识人员定位:对人员定位相关知识的自己的理解
- 玉米社:竞价推广优化怎么做?竞价推广优化技巧