Почему моя раскадровка не загружена? - PullRequest
0 голосов
/ 15 мая 2018

Я пытаюсь открыть отдельную раскадровку, используя код для конкретной задачи входа в систему.

Я создал раскадровку и класс экземпляра следующим образом

+ (instancetype)newStoryboardInstance {
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:NSStringFromClass([self class]) bundle:[NSBundle bundleForClass:[self class]]];
    AdyenLoginViewController *viewController = [storyboard instantiateInitialViewController];

    return viewController;
}

Затем я вызываю это издругой класс, подобный этому

- (void) viewDidAppear:(BOOL)animated {
    if([NWTillHelper isDebug] == 1) {
        NSLog(@"%s entered", __PRETTY_FUNCTION__);
    }
    [AdyenLoginViewController newStoryboardInstance];
}

Но loginController никогда не отображается и сообщения об ошибках не отображаются, он просто завершает загрузку моей обычной раскадровки и затем останавливается.

Имя раскадровки и т. д. является правильным, так каксогласно имени класса, без ошибок или предупреждений компилятора

Как я могу заставить его загрузить мою раскадровку?

1 Ответ

0 голосов
/ 15 мая 2018

Если вы используете контроллер навигации, тогда viewDidAppear будет выглядеть так: -

- (void) viewDidAppear:(BOOL)animated {
    if([NWTillHelper isDebug] == 1) {
       NSLog(@"%s entered", __PRETTY_FUNCTION__);
    }
    if([AdyenLoginViewController newStoryboardInstance]) {
       [self.navigationContoller pushViewController:[AdyenLoginViewController newStoryboardInstance] animated:true];
    }

}

Или вы можете представить viewController следующим образом: -

- (void) viewDidAppear:(BOOL)animated {
    if([NWTillHelper isDebug] == 1) {
       NSLog(@"%s entered", __PRETTY_FUNCTION__);
    }
    if([AdyenLoginViewController newStoryboardInstance]) {
       [self presentViewController:[AdyenLoginViewController newStoryboardInstance] animated:true completion:^{

       }];
    }

}
...