Swift类型判断

五种方式进行类型判断

  1. 继承 NSObject 利用runtime获取类

     let url = NSURL()
     let name: AnyClass! = object_getClass(url)
     if NSStringFromClass(name) == "NSURL" {
         return true
     }
    

2.利用 func isKind(of aClass: AnyClass) -> Bool
判断 是否是该类的或者子类的实例

    if url .isKind(of: NSURL.self) {
        return true
    }
  1. 利用type(of: )

    if NSStringFromClass(type(of: url.self)) == "NSURL" {
         return true
     }
    

4.利用 is

if  url is NSURL {
        return true
    }
  1. 利用 classForCoder 获取类名字符串 判断

     if NSStringFromClass(url.self.classForCoder) ==  "NSURL" {
         return true
     }

你可能感兴趣的:(Swift类型判断)