美文网首页
类型转化

类型转化

作者: 彼岸的黑色曼陀罗 | 来源:发表于2016-09-01 20:00 被阅读0次

    类型转化

    • is :用来判断一个实例是否是某一种确定的类型
    • as :将实例转成某一种类型

    is的使用

    • 用来判断某一个实例是否是某一种确定的类型
    let infoArray = ["why",18,1.88]
    let item = infoArray[0]
    if item is String{
       print("是一个字符串")
    }else{
       print("不是一个字符串")
    }
    //区别:
    item.isKindOfClass(UIView.self)判断是否是某种类
    

    as的使用

    • as的直接使用
      • 一般用于swift类型和OC类型的转化
    let urlString = "www.520it.com"
    (urlString as NSString).substringToIndex(3)
    
    • as?的使用
      • 将NSObject转为确定的类型的可选类型
    let item1 = infoArray[0]
    let name = item1 as? String
    if let name = name {
    print(name.charcters.count)
    }
    print(name?.characters.count)
    //简便写法
    if let name = infoArray[0] as? String {
       print(name.characters.count)
    }
    
    • as!的使用
      • 将NSObject转成确定的类型,但是如果转化不成功,则程序会崩溃
      • 不建议使用,只有类型确定的时候才能使用
    let item1 = infoArray[0]
    let name = item1 as! String
    print(name.characters.count)
    //简便写法
    let count = (infoArray[0] as! String).characters.count
    

    相关文章

      网友评论

          本文标题:类型转化

          本文链接:https://www.haomeiwen.com/subject/crhhettx.html