// only class types: func myCast(value: AnyObject, type: MyClass.Type) -> MyClass? { return value as? MyClass } // any type (class, struct, etc): func myCast1(value: Any, type: MyClass.Type) -> MyClass? { return value as? MyClass }