首页 > 代码库 > [汇]Swift学习汇总(一)
[汇]Swift学习汇总(一)
1. as as!as?的区别
一,as
摘自中文api的话:仅当一个值的类型在运行时(runtime)和as模式右边的指定类型一致 - 或者是该类型的子类 - 的情况下,才会匹配这个值。如果匹配成功,被匹配的值的类型被转换成as
模式左边指定的模式。
首先是运行时 就不多说了 ,重要的是 as 应用条件有2种情况:
1,和 "as" 右边类型一致
2,是右边类型的子类(这种情况在java里叫向上转型)
事例代码如下:
二,as!
上例中 第二种情况 2,是右边类型的子类 如果 碰到as 左边类型是右边类型的父类则会报错!(as不可以用于父类转子类,用java话说,不支持向下转型),由此可用as!(强转)
编译器也会提示你用as!, as!强转如果类型不符合会报错。
三,as?
as? 相当于optional类型,如果转换失败返回nil。
上代码!
[汇]Swift学习汇总(一)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。