在Swift中打印当前模块名称

时间:2015-09-18 20:23:33

标签: swift

如何在swift中打印类的模块名称?

self.dynamicType仅打印没有模块的类名。我该如何打印模块?

2 个答案:

答案 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]) }
}