Изменить созданный экземпляр ViewController

#objective-c #xcode

#objective-c #xcode

Вопрос:

Я создал проект в Xcode и удалил класс ViewController по умолчанию и представление по умолчанию из раскадровки. Затем я поместил новый контроллер представления в раскадровку и табличное представление на нем и создал новый класс с именем « StartsController «. На данный момент и не могу запустить мое приложение, потому что оно возвращает сообщение:

"-[UITableViewController loadView] instantiated view controller with identifier "UIViewController-BYZ-38-t0r" from storyboard "Main", but didn't get a UITableView".

Как я могу выбрать, чтобы мой « StartsController » был создан для создания экземпляра контроллера, и тогда я правильно запущу свое приложение?

Комментарии:

1. После добавления нового ViewController перейдите в инспектор идентификации и установите флажок «является начальным контроллером представления».. Я думаю, что вы, должно быть, пропустили этот момент

2. @Ishika… К сожалению, этого недостаточно. Он по-прежнему возвращает тот же результат связи.

3. Также убедитесь, что вы установили новое имя класса для ViewController в раскадровке в параметре пользовательский класс

Ответ №1:

убедитесь, что вы отметили галочкой is initial ViewController является начальным ViewController

если вы хотите сделать это программно, просто поместите этот код в свой AppDelegate.m application:didFinishLaunchingWithOptions:

 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:UIScreen.mainScreen.bounds];

    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];

    StartsController *viewController =  ....;

    self.window.rootViewController = viewController;
    [self.window makeKeyAndVisible];

    return YES;
}