Верно ли, что создание UIViewControllers {WelcomeViewController | AboutViewController}. {H | m} не нужно?
Нет, оба контроллера необходимы, поскольку для управления иерархией представления должен быть как минимум (и, оптимально, максимум) один ViewController на каждое полноэкранное окно. TabBarController - это всего лишь разновидность «тупого» мета-контроллера, управляющего отображением загружаемых им субконтроллеров - поэтому вам нужны контроллеры для переключаемых видов. Я бы порекомендовал вам прочитать эту часть документа Apple .
Кто является настоящим владельцем файла подпредставлений {WelcomeViewController | AboutViewController} .xib?
Владельцем файла должен быть соответствующий класс контроллера (в вашем случае {WelcomeViewController | AboutViewController}. {H | m}) - вы можете установить класс в Интерфейсном Разработчике в палитре инспектора, когда выбран Владелец файла. Только у самого первого окна (обычно называемого Main.xib или около того), которое открывается при запуске приложения, должен быть делегат приложения в качестве владельца файла. Владельцы файла владеют объектами файла XIB / NIB - в отношении ссылки на объект, вы понимаете, о чем я :) Я думаю, что также должна быть возможность загружать файл XIB / NIB с другими контроллерами (и другой контроллер автоматически становится файлом Владелец), но я не уверен.
... Я прямо здесь? Это ошибка, что IBAction появляется в Интерфейсном Разработчике (Xcode 4 здесь)?
Возможно, вы неправильно связали действие в Интерфейсном Разработчике, что является распространенной ошибкой. Попробуйте удерживать клавишу Ctrl, затем перетащите линию от кнопки на владельца файла и выберите нужный метод для ссылки. Это должно сделать это.
Последний вопрос: как / можно все еще отделять код (имея IBActions в WelcomeViewController.h для действий, которые происходят только в этом подпредставлении), когда я все соединяю в Интерфейсном Разработчике, как в учебном пособии?
Я думаю, что ответил на это в первом абзаце - WelcomeViewController все еще там, и все, что вам нужно сделать, это создать IBOutlets и подключить их в IB. Конечно, вы также можете выполнить подключение программно, так как «представление» элемента автоматически заполняется (через соединение «Владелец файла»), и все подпредставления доступны оттуда.