Совершенно разумно поместить классы представления и контроллера, которые ваше приложение использует, в отдельную среду - встроенную в оболочку приложения - для которой вы также создаете плагин Interface Builder.
Среди прочих причин классы, которые обычно используются в вашем приложении, можно затем настроить в точке их использования в Интерфейсном Разработчике, а не в отдельных -awakeFromNib
реализациях. Это также единственный способ, с помощью которого ваши объекты могут отображать привязки, которые можно настроить в Интерфейсном Разработчике.
Это немного кодируется, но для классов представлений и контроллеров, которые используются более чем в одном месте и требуют дополнительной настройки перед тем, как они фактически используются, вы, вероятно, сэкономите кучу времени в целом. И ваш опыт разработки с вашим собственным контроллером и классами представления будет похож на разработку с Cocoa.