如何在swift中打印类的模块名称?
self.dynamicType
仅打印没有模块的类名。我该如何打印模块?
答案 0 :(得分:10)
对于不那么漂亮但目前正在工作的方式,请尝试:
let object = NSStringFromClass(MyClass) as NSString
let module = object.componentsSeparatedByString(".").first!
这似乎不适用于Foundation / UIKit等对象
答案 1 :(得分:2)
这是一个不同的解决方案
// "To parse a #fileID expression, read the module name as the text before the first slash (/) and the filename as the text after the last slash"
func moduleName(fileId: String = #fileID) -> String? {
fileId.firstIndex(of: "/").flatMap { String(fileId[fileId.startIndex ..< $0]) }
}