Как напечатать имя класса в Swift?

В Swift мы больше не можем использовать "self.class".

Я хочу напечатать собственное имя класса для метода описания в подклассе NSObject.

Как я могу его распечатать? Или я должен создать новый метод для получения имени класса?


Я проверил следующий вопрос, но я не смог получить ответ.

Как напечатать тип или класс переменной в Swift?

Как узнать тип объекта (в 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 класса

Но println(PrintClassName.self) печатает "(Метатип)"

И я хочу получить имя класса без написания имени класса в исходном коде.

Ответы

Ответ 1

import Foundation

class PrintClassName : NSObject {
    override init() {
        super.init()
        println(NSStringFromClass(self.dynamicType))
    }
}