Как получить тип объекта в Swift?

Я не могу найти функцию или метод, которые возвращают тип объекта в Swift.

Как получить тип или класс объекта в Swift?

Я пробовал использовать классы Obj-C, которые, очевидно, не работали.

В python у вас есть такие вещи, как type или isinstance

В Javascript у вас есть constructor

Ответ 1

Если вам просто нужно проверить тип объекта, вы можете использовать оператор проверки типа is, как в:

if myObject is UIView {
    // do something
}

Если вы хотите попытаться вызвать метод на объекте, но вы не уверены в этом классе, опустите объект в нужный вам тип, например:

if let myView = myObject as? UIView {
    myView.layer.backgroundColor = myColor
}

Ответ 2

Вы ищете dynamicType?

someInstance.dynamicType.printClassName()