在一个Objective-C的项目实例化斯威夫特的ViewController(Instantiat

2019-10-24 03:07发布

我已经进口了斯威夫特UIViewController在基于Objective-C的项目,我已经跟着

  • 苹果的指导,在Objective-C使用雨燕类

  • 这种有益的步骤一步斯威夫特集成基于Objc-的Xcode项目

我的项目不会崩溃,但我不能让一个视图加载。 我试图实例化一个viewController ,但它显示为白色空白屏幕:

UIViewController *rootViewController = [storyboard instantiateViewControllerWithIdentifier:@"mySwiftVC"];

我把一个断点在紧接前行后和po rootViewController给出了一个内存地址。

我扔了printlnviewDidLoadMySwiftVC ,但没有出现。 所有的灯“是的”,但没有显示/执行。 任何想法在哪里寻找解决?

下面是其中的前行被调用的方法:

- (void)checkDisclaimer {
    UIStoryboard *storyboard = self.window.rootViewController.storyboard;

    if ([[[NSUserDefaults standardUserDefaults]valueForKey:@"disclaimerAcknowledged"]boolValue] == NO) {
        // set to instantiate disclaimer VC
        UIViewController *rootViewController = [storyboard instantiateViewControllerWithIdentifier:@"disclaimer"];
        self.window.rootViewController = rootViewController;
        NSLog(@"Disclaimer IS NOT acknowledged");
    } else {
// this is the line that's working from a memory standpoint, but nothing happens
        UIViewController *rootViewController = [storyboard instantiateViewControllerWithIdentifier:@"launchScreen"];
        self.window.rootViewController = rootViewController;
        NSLog(@"Disclaimer IS acknowledged");
    }
    [self.window makeKeyAndVisible];

}
文章来源: Instantiating a Swift ViewController in an Objective-C project