今天完善swift架子,导航里面用swift获取类名的时候,突然很懵逼,居然木有.class(OC),只好自己研究下了,写了一个获取类名的扩展名,后来发现有个.self的方法,也尝试了下哈,看下图
print(UIScreenEdgePanGestureRecognizer().ClassName)
print(UIScreenEdgePanGestureRecognizer.self)
print(type(of: UIScreenEdgePanGestureRecognizer.self))
打印结果看下图
看到这里相信也不用我来解释了哈,我就说个结果吧:
类:(获取类名)用.self
类对象:(获取类对象)用ClassName
最后贴上类名的代码
extension NSObject
{
// MARK:返回className
var ClassName:String{
get{
let name = type(of: self).description()
if(name.contains(".")){
return name.components(separatedBy: ".")[1];
}else{
return name;
}
}
}
}
手敲不容易,麻烦点个赞,谢谢〜