objective-c – 应用程序窗口预计在应用程序启动警告结束时具有根视图控制器

前端之家收集整理的这篇文章主要介绍了objective-c – 应用程序窗口预计在应用程序启动警告结束时具有根视图控制器前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经被这个警告困扰了几个小时了.我已经看了周围的答案,尝试了所有我发现,找不到解决方案.这是我的代码的崩溃,默认情况下生成Xcode.

这是在我的AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    self.window.rootViewController = self.navigationController;
    [self.window makeKeyAndVisible];
    return YES;
}

我在main.m(根据this answer)

int main(int argc,char *argv[])
{
    @autoreleasepool {
        int retVal = UIApplicationMain(argc,argv,nil,NSStringFromClass([AppDelegate class]));
        return retVal;
    }
}

我的MainWindow.xib中的所有连接都已正确连接.所以我现在在亏损.有什么可以丢的吗?提前致谢!

解决方法

在应用程序中设置窗口的rootViewController是奇怪的:didFinishLaunchingWithOptions:如果您有一个MainWindow.xib.通常一个项目遵循三个模板之一:

>一些项目有一个MainWindow.xib.目标的“主界面”在目标的“摘要”选项卡(或其Info.plist)中设置为“主窗口”.这个xib的文件的所有者是UIApplication. xib包含AppDelegate的一个实例,连接到文件的所有者代理插座. xib还包含一个UIWindow,它的rootViewController插座连接到一个UIViewController(或子类,如UINavigationController),它也在xib中.当应用程序委托接收到应用程序:didFinishLaunchingWithOptions:消息时,xib被完全加载,因此窗口及其根视图控制器已经建立.
>其他项目没有MainWindow.xib.目标的“主界面”为空.相反,UIApplicationMain函数创建一个AppDelegate的实例,将其设置为UIApplication的委托,并将其发送给应用程序:didFinishLaunchingWithOptions:message.应用程序委托通过创建一个UIWindow来处理该消息,创建一个视图控制器(或几个),并设置窗口的rootViewController属性.默认版本如下所示:

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

>一些项目有一个MainStoryboard.storyboard.我不会详细描述这一点,因为它与你的问题似乎不相关.

您所描述的问题使您听起来像您使用的是第一个模板的一半,而第二个模板的一半.那不行.你需要决定你正在采取哪种方式,并且全面进入.

猜你在找的C&C++相关文章