Swift中的as关键字

对于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;

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值