Swift中是否有等效的NSStringFromClass给出了用户可读的类名版本?我尝试将其与我创建的本机Swift类一起使用,但是如您所见,结果似乎是编译器对类名的内部表示:
println(NSStringFromClass(MyClass.self))
结果:
_TtC5test7MyClass
我尝试将 @objc 属性添加到该类,并使其成为NSObject的子类,但没有区别。我发现,如果我用同名的Objective- C类替换MyClass,并将其导入到桥接头文件中,则会得到“ MyClass”,但这不是必须的。
另一个选择是为此制定一个协议,我要以此方式使用的每个类都必须符合:
protocol Nameable { class var className: String { get } }
但是,使用该语言以内置的方式执行此操作会更容易。
您现在可以执行以下操作:
String(MyClass)