Subclassando una class UIViewController

Mi aplicación tiene un UITabBar . La mayoría de las tabs tienen una funcionalidad similar, aunque difieren en forms importantes.
Para evitar la duplicación de código, me gustaría crear una class ( BaseViewController ) que maneje la funcionalidad similar y utilice subclasss de este ( FirstViewController , Second etc) para controlar las funciones únicas.

¿Cuál sería la mejor manera de hacer esto?
Un problema que planteo es si creo xibs y ver controlleres, ¿cómo puedo conectar elementos en el xib al controller de vista base?

  > FirstTabViewController BaseViewController > SecondTabViewController > ThirdTabViewController 

Si el BaseViewController tiene properties IBOutlet, se comportarán de la misma manera en una class henetworkingada en Interface Builder. Todo lo que necesitas hacer es arrastrar tus conexiones.

FirstTabViewController, SecondTabViewController, y otros henetworkingará las salidas y acciones de BaseViewController, por lo que conectará los elementos de la interfaz de usuario a sus subclasss tal como lo haría con la class base.

También puede get su class base para crear cosas programáticamente para usted. Por ejemplo, botones de barra de navigation / imágenes de background.

Esencialmente necesitarás crear una subclass UIViewController que sea tu base. Llamaremos a este MyBaseVC.

A continuación, seguirás adelante y crearás las otras tres classs de controller de vista (MyVC1, MyVC2, MyVC3) tal como hiciste con la primera. En sus files de encabezado reemplace, UIViewController con MyBaseVC. Estas ahora serán una subclass de MyBaseVC.

Luego, en el inspector de identidad de su file de Interface Builder, establecerá la Clase personalizada de cualquier controller de vista que cree en MyVC1, MyVC2, MyVC3