这个报错在使用xib布局的时候是很常见的,这是因为xib没有跟view连线所导致的。
截屏2020-04-07上午11.46.01 1.png
如上图红线所标志的,意思是加载xib但是xib的view输出没有被设置。那么只要找到报错的xib,将xib的view连上线就可以了。但是有些同学会发现连不上线或者xib上没有view,下面我将一步一步演示怎么操作。
1.添加view(有view的可以跳过这一步)
如果没有上图的view,那么就需要添加一个view,添加view的方法跟添加控件的方法一样,直接拖入到右边的空白处就好了。
2.添加xib与类关联
虽然有了view,但是有些童鞋发现还是不能连线,这是因为没有把xib与类相关联起来。如下图所示,在相应的位置填上对应的类名
3.连线
右键点击File's Owner,按住右键不放移动鼠标到view上再放开,再点击下图箭头所指的view就可以了
NOTE
如果上述的办法还不能解决你的问题,那就得看看你的xib的命名是不是跟你的某个类名比较相似。当你的控制器的文件名称跟你用xib描述的一个view的名称很像,就是少了一个controller,此时也会在运行的时候崩掉。
原因:因为创建一个控制器我们一般都是PPVideoViewController *vc = [PPVideoViewController alloc] init]; init内部首先会去找有没有跟PPVideoViewController相同的xib文件名,如果没有再去找有没有跟PPVideoViewController但是少了Controller的xib文件名,如果有就去加载这个xib! 这里一加载就会报错,因为PPVideoView.xib并不是用来描述PPVideoViewController控制器view的而是用来描述自定义的PPVideoView的,因此就会在运行的时候报错。
非常感谢这两位大神提供的资料和解决办法
https://juejin.im/post/5df75e38e51d455803599e5a
https://www.jianshu.com/p/b3512e905ec1
网友评论