對于oc開發用慣了NSStringFromClass的同學可能會對swift的從類名直接獲取字符串感到茫然,這里就提供一個好的方法吧
一、分析
先說說OC原始的這種方法能不能用
當然是可以用的,不過效果卻不一樣,上代碼
print("類名:\(NSStringFromClass(ViewController.self))")
效果:
效果1.png
效果1.png
解析
可以看到,這種方式其實不是不行,只是會帶上項目名稱,你可以想辦法通過字符串操作去掉“·”以及之前的字符串達到同樣的效果,有些時候我們恰恰就需要這樣的類名,因為swift在處理的時候默認都是這樣來識別和處理類名的,但有些人就是想要直接的拿到純粹的類名,有沒有更好的方法呢?當然有!
二、解決
print("類名:\(String(describing: ViewController.self))")
效果2.png
好了,搞定!