Swift中的as关键字

来源:互联网 发布:lun网络用语是什么意思 编辑:程序博客网 时间:2024/05/21 09:46

对于Swift中的关键字’as’来说一共有三种方式

类型 使用方式 ‘as’ 向上转型,数值类型直接转换,检测类型等 ‘as!’ 一般用于向下转型,但是转型失败会报runtime错误 ‘as?’ 比’as!’好在如果转换失败不会报runtime错误,会返回一个nil对象,转化成功会返回一个Optional类型的值,使用该值需要拆包

1.向上转型

1. 父类Person
    class Person: NSObject {    //构造函数等省略}
2. 子类Student
    class Student: Person {    //构造函数等省略}
3. 进行类型转换
    let student = Student()    //类型转换(向上转型)    let Person = student as Person

2.数值类型转换

//  //如果直接=10.那么一定是一个Int类型(swift自动类型判断,swift不支持隐式类型转换,这里不赘述了)//  let num1 = 10    //我们可以使用as来使num变成其他类型    let num2 = 10 as float    let nume3 = 3.4 as Int

3.模式匹配

if let student as Student {    print(student是Student类的对象);}

这种模式匹配是否比OC中的

    -(BOOL)isKindOfClass;

等能够判断类型的方法来得简单得多?

原创粉丝点击