参见英文答案 >
Swift class introspection & generics7个答案在斯威夫特,我们不能再使用“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后记
我检查了这个问题。
Swift class introspection & generics
但println(PrintClassName.self)打印“(Metatype)”
import Foundation class PrintClassName : NSObject { override init() { super.init() println(NSStringFromClass(self.dynamicType)) } }