Удаление раскадровки для использования файлов XIB

Я новичок в разработке для iOS полностью и мог бы использовать некоторую помощь.

Для приложения, которое меня попросили написать, меня попросили написать код, используя только файлы XIB, а не раскадровку. Это поможет лучше понять и следовать правилам кодирования другого проекта, в который я вовлечен.

Итак, я следовал различным советам на этом сайте /youtube/google и продолжаю сталкиваться с той же проблемой.

Вот шаги, которые я делаю.

  • Удалить раскадровку и файлы контроллера представления по умолчанию
  • Удалить отношения в info.plist
  • Создал новый класс, создавая файл XIB в процессе
  • Установите основной интерфейс для нового файла XIB (в общих настройках)
  • Добавлено свойство viewController в AppDeligate.h
  • Добавлен код ниже для AppDeligate.m

    - (BOOL)application:(UIApplication *)application     didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Override point for customization after application launch.
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    self.viewController = [[MainViewController alloc]      initWithNibName:@"PhotoViewController_ipad" bundle:nil];
    self.window.rootViewController = self.viewController;
    [self.window makeKeyAndVisible];
    return YES;}
    

Проблема, которую я продолжаю получать, заключается в том, что при запуске в симуляторе происходит сбой при запуске, и я получаю сообщение об ошибке, возвращаемой из одной строки в "главном" файле. Ошибка "Тема 1 SIGART".

После исследования я вижу, что это может быть связано с отношениями между файлом XIB и файлами классов. так как это было создано для меня, это правильно, хотя я сам убедился, что это связано с классом. и владелец файла XIB связан с представлением

Извините за длинное описание. Короче. Я просто хочу начать и создать свое приложение без раскадровки и просто использовать файлы XIB

Спасибо

1 ответ

Решение

Я должен был сделать это пару раз. Вы должны убедиться, что добавили свой AppDelegate в файл MainWindow.xib, который вы используете для замены раскадровки. Убедитесь, что все ваши делегаты и окна подключены правильно, чтобы у вас была соответствующая розетка при запуске.

MainWindow.xib

  • Добавлен AppDelegate (подключен к окну и делегату)
  • Окно добавлено (и подключено к окну в вашем AppDel)
  • Владелец файла (подключен к делегату)

Info.plist

  • Основное имя основного файла пера (задайте свой MainWindow.xib)

Я в основном взял старый проект и убедился, что все подключено правильно, и мое MainWindow выглядело правильно. Если вы не добавили UIWindow в свой AppDelegate, вам тоже нужно это сделать.

Если у вас есть информация о сбое, мы можем помочь вам в дальнейшем.

Другие вопросы по тегам