Xcode11做的这些改动,对于小白来说太难了 ,记录一下这次艰辛的过程
因为所学习的视频里面都是老版本的Xcode,而我当时脑子抽风下载的Xcode版本较高,所以在跟代码时出现了错误,作为小白简直一脸懵逼,完全无法理解,明明代码一样的。所跟代码如下:
self.window = [[UIWindow alloc]initWithFrame:[UIscreen mainScreen].bounds];
UITabBarController* TB =[ [UITabBarController alloc]init];
self.window,rootViewController = TB;
[self.window makeKeyAndVisible];
当时写上去之后没有错误,运行时报错,且程序卡在self.window 过不去,报的错误如下:
unrecongnized selector sent to instance
当时只针对这个错误进行查询了很久,不出所料的一无所获。后来在查阅的资料变多了之后,知道Xcode11对于之前的版本来说,增加了一些新的功能,在创建单一界面的app时,会比之前的要多出两个文件SceneDelegate.h和.m文件,也就是说之前的window的是由AppDelegate负责的,所以什么都不用做,直接使用self.window不会出错,但是在新版Xcode中,将这个交给了SceneDelegate负责,当发现这个之后,我又去查阅在新版中该怎么创建窗口,回答也是五花八门,但是比较多的有两种:
1.在AppDelegate.h中重新声明window,即添加