swift获取类名
2019-10-25 本文已影响0人
代码移动工程师
swift获取类名主要有以下方式:
deinit {
// 返回内部类名
print("deinit: \(object_getClassName(self))")
// 返回应用程序名+类名
print("deinit: \(NSStringFromClass(self.dynamicType))")
// 返回应用程序名+类名,并去掉应用程序名
print("deinit: \(NSStringFromClass(self.dynamicType).componentsSeparatedByString(".").last!)")
// 返回应用程序名+类名+内存地址
print("deinit: \(self)")
// 返回应用程序名+类名+内存地址
print("deinit: \(self.description)")
// 返回类名
//过时
print("deinit: \(self.dynamicType)")
// 现在用
NSStringFromClass(type(of: vc))
}
打印信息如下:
deinit: 0x00007fadc17dc1a0
deinit: APPUI.IntroductionController
deinit: IntroductionController
deinit: <APPUI.IntroductionController: 0x7fadc152b8c0>
deinit: <APPUI.IntroductionController: 0x7fadc152b8c0>
deinit: IntroductionController
留着测试
let className = NSStringFromClass(type(of: self))
let className2 = object_getClassName(vc)
let className3 = NSStringFromClass(type(of: vc)).components(separatedBy: ".").last
print("className=\(self)")
print("className=\(type(of:self))")
print("className=\(self.description)")
print("className=\(className)")
``