对于Xcode11中对于APPDelegate所做的一些改动,导致的unrecongnized selector sent to instance错误

本文记录了在使用Xcode11时遇到的由于版本更新导致的'unrecognized selector sent to instance'错误。Xcode11新增了SceneDelegate文件,使得窗口管理发生了变化。解决方法包括在AppDelegate中声明window属性,删除SceneDelegate文件及相关信息,并调整info.plist。完成这些步骤后,程序从黑屏变为正常显示。
摘要由CSDN通过智能技术生成

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,即添加

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值