Можете ли вы применить тип Metatype в Swift? Кажется, вы должны уметь (ведь вы можете создавать объекты из метатипов).
Не работает следующее:
class Super {}
class A : Super {}
let superA:Super = A()
let subType = superA.dynamicType
let afterCast = superA as subType
//Compiler error: "use of undeclared type 'subType'"
Кто-нибудь знает правильный способ сделать это?
Edit:
Как отмечалось в newacct, результат .dynamicType, очевидно, неизвестен до выполнения, поэтому время выполнения компиляции в результате .dynamicType не имеет смысла.
Итак, ответ таков: "Вы не можете" (и нет никаких оснований для попытки).