如何从 Swift 中的 NSStringFromClass 中排除项目名称?

How to exclude project name from NSStringFromClass in Swift?

我正在 Swift 项目中记录 class 名称和 enums。我在每个实例字符串描述中看到它附加的项目名称作为前缀。例如,

我创建了 NSObject

的扩展
public extension NSObject {

    var classTag: String {
        return NSStringFromClass(type(of: self))
    }
}

我在 AppDelegate,

中使用
class AppDelegate: UIResponder, UIApplicationDelegate {

    func testFunc() {
        print(classTag, "Testing log")
    }
}

它的输出是,

TestProject.AppDelegate Testing log

如何删除 TestProject. 并仅打印 AppDelegate

注意:当我打印或记录枚举时,其行为相同(即在描述中自动附加项目名称)

您可以简单地使用 String(describing:) 而不是像这样 NSStringFromClass

public extension NSObject {
    var classTag: String {
        return String(describing: type(of: self)) //here....
    }
}