对于oc开发用惯了NSStringFromClass的同学可能会对swift的从类名直接获取字符串感到茫然,这里就提供一个好的方法吧
一、分析
先说说OC原始的这种方法能不能用
当然是可以用的,不过效果却不一样,上代码
print("类名:\(NSStringFromClass(ViewController.self))")
效果:
解析
可以看到,这种方式其实不是不行,只是会带上项目名称,你可以想办法通过字符串操作去掉“·”以及之前的字符串达到同样的效果,有些时候我们恰恰就需要这样的类名,因为swift在处理的时候默认都是这样来识别和处理类名的,但有些人就是想要直接的拿到纯粹的类名,有没有更好的方法呢?当然有!
二、解决
print("类名:\(String(describing: ViewController.self))")
好了,搞定!