Возможно, вам не понадобится Ruby Mixin для вашего конкретного случая. Вы можете создать новый класс, унаследованный от UIViewController, и использовать его в качестве базового класса для классов контроллера представления, для которых требуется этот протокол.
Если вы хотите, чтобы этот протокол был доступен во всех ваших контроллерах представления, вы можете использовать категорию для расширения базового класса.
Если вам нужна такая же реализация протокола для классов, которые не происходят от UIViewController, тогда вам действительно нужно что-то вроде Ruby Mixin. В этом случае см. этот вопрос , описывающий, как использовать пересылку сообщений. И этот вопрос содержит некоторую информацию в ответах.
Соответствующий выбор зависит от набора классов, которые нуждаются в вашей реализации. Если это необходимо в некоторых, но не во всех классах UIViewController, используйте подкласс. Если это необходимо во всех классах UIViewController, но не в других, используйте категорию. В противном случае используйте пересылку сообщений.