在Swift 2.2中替换_stdlib_getDemangledTypeName()

rjs*_*ing 4 swift swift2

最新版本的Swift 2.2删除了_stdlib_getDemangledTypeName().

我有什么选择来取代它?

我目前正在使用这样的调试消息:

let debugStr = "\(_stdlib_getDemangledTypeName(self)) -> \(self.versionString) (\(self.versionInfo))"
Run Code Online (Sandbox Code Playgroud)

Ben*_*ayo 17

您可以通过String初始化器获得类型名称的漂亮描述.这应该足以替代_stdlib_getDemangledTypeName.

例:

String(self.dynamicType)
Run Code Online (Sandbox Code Playgroud)

  • Swift 3版的这个答案?dynamicType和String()转换现在已经消失了解决方案可能是``String(描述:type(of:self))`` (3认同)