Hacer propiedad de tipo y también cumplir con el protocolo en Swift
Me gustaría hacer una propiedad que sea de cierto tipo y que también se ajuste a un protocolo, lo que habría hecho en Objective-C de esta manera:
@property (nonatomic) UIViewController<CustomProtocol> *controller;
Lo que estoy buscando es especificar que la propiedad se pueda establecer con un objeto de tipo UIViewController que también se ajuste a CustomProtocol, para que quede claro cuál es la clase base. Sé que probablemente podría usar un trozo de clase corto para obtener los mismos resultados, es decir
class CustomViewController : UIViewController, CustomProtocol {}
Pero esta no parece ser la forma más limpia de hacerlo.