Я пытаюсь выполнить базовые шаги по созданию универсального приложения (iphone / ipad) в Xcode 4. Я не хочу использовать INterface Builder, если это возможно, и я хочу уйти от громоздкости, еслиоператоры:
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
Я создаю «оконный проект», чтобы получить универсальный шаблон, предоставляемый Apple.Это дает мне три делегата приложения с iPhone и iPad, имеющими свои собственные XIB, внутри своих определенных папок.
Теперь я хотел бы добавить контроллер представления, поэтому я создаю мастер-элемент «MasterViewController» иподклассовые версии "MasterViewController_iPhone" и "MasterViewController_iPad".Я не создаю XIB с любым из них.(Мне нужно?)
Вот где я запутался.В делегат главного приложения я помещаю код
[self.window makeKeyAndVisible];
. Я не добавляю никакой другой код, позволяющий делегатам субклассового приложения создавать экземпляры своих соответствующих контроллеров представления.Например, в делегате приложения iphone я размещаю:
myVC_iPhone = [[MasterViewController_iPhone alloc] initWithNibName:nil bundle:nil];
[self.window addSubview: myVC_iPhone];
Но это дает мне ошибку:
Incompatible pointer types sending 'MasterViewController_iPhone *' to parameter of type 'UIView *'
Я упустил кое-что базовое здесь.Возможно, мои соглашения об именах неверны;возможно, makeKeyAndVisible не должен быть в делегате главного приложения;возможно, мне нужны XIB для каждого контроллера представления.Кто-нибудь может подтолкнуть меня сюда?Спасибо!