Я склонен согласиться с анализом Джо Конвея и Аарона Хиллегаса, о чем сегодня сообщил Уле Бегеманн в http://oleb.net/blog/2012/01/initWithNibName-bundle-breaks-encapsulation/
По сути, они утверждают, что имя файла NIB - это деталь реализации соответствующего класса UIViewController, и что дело не в том, чтобы вызывающий класс передавал имя файла NIB в методе init.
Мне было интересно, была ли какая-то особая причина для этого выбора дизайна от создателей AppKit / UIKit, или это просто ошибка - и, в последнем случае, почему это не было исправлено, когда вышел UIKit, которая была бы хорошей возможностью.
Если бы какой-либо старый таймер Objective-C мог обеспечить историческую основу для этого, было бы неплохо лучше понять структуру, которую мы используем каждый день.