在Swift中,我们不能再使用" self.class"。
我想在NSObject的子类中为description方法打印自己的类名。
我该如何打印?或者我应该为获取课程名称制作新方法?
我检查了以下问题,但我无法得到答案。
How do I print the type or class of a variable in Swift?
How do you find out the type of an object (in Swift)?
import UIKit
class PrintClassName: NSObject {
override init() {
super.init()
println("\(self.dynamicType)")
// Prints "(Metatype)"
println("\(object_getClassName(self))");
// Prints "0x7b680910 (Pointer)"
println("\(self.className)")
// Compile error!
println(PrintClassName.self)
// Prints "(Metatype)"
}
}
2014.08.25 postscript
我查了一下这个问题。
Swift class introspection & generics
但是println(PrintClassName.self)
打印"(元型)"
我想在不在源代码上编写类名的情况下获取类名。
答案 0 :(得分:39)
import Foundation
class PrintClassName : NSObject {
override init() {
super.init()
println(NSStringFromClass(self.dynamicType))
}
}