swift基础语法-类型转化 as? as!

1. 常见的类型转化符号

1.1 is : 用于判断一个实例是否是某一种类型**

// 1.定义数组
let array : [AnyObject] = [20, "cdh", 1.88]

// 2.取出数组中的第一个元素
let objc = array.first!

// 3.判断第一个元素是否是一个Int类型
if objc is Int {
    print("是Int类型")
} else {
    print("非Int类型")
}

1.2 as? 和 as! 的使用

  • 1.将NSObject转成具体的类型
  • 2.as? 将NSObject转成一个可选类型(掌握)
  • 3.as! 将NSObject转成一个具体的类型(注意:如果转化不成功,程序会崩溃)
// 4.将objc转成真正的类型来使用
// 4.1.as? 将AnyObject转成可选类型,通过判断可选类型是否有值,来决定是否转化成功了
let age = objc as? Int
print(age) // 结果:Optional(12)

// 4.2.as! 将AnyObject转成具体的类型,但是注意:如果不是该类型,那么程序会崩溃
let age1 = objc as! Int
print(age1) // 结果:12
// 2.1 定义字典
let infoDict = ["name" : "CDH", "age" : 18 , "height" : 1.88]
let name = infoDict["name"]
if let name = name {
    // 将 NSobject 转为 String 的可选类型
    let name = name as? String
    // 使用name
    if let name = name {
        print(name.characters.count)
    }
}
// 简单写法一:
if let name = infoDict["name"]{
    if let name = name as? String{
        print(name.characters.count)
    }
}
// 简单写法二:
if let name =  infoDict["name"] as? String{
    print(name.characters.count)
}
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值