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: <T>)

    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
     }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容