一、错误说明
自定义一个用来封装工具条的类
搭建xib,并添加一个拖拽的手势。
![](http://images.cnitblog.com/i/450136/201408/151244481863904.png?x-oss-process=image/resize,w_1400/format,webp)
主控制器的代码:加载工具条
![](http://images.cnitblog.com/i/450136/201408/151246366231800.png?x-oss-process=image/resize,w_1400/format,webp)
封装工具条以及手势拖拽的监听事件
![](http://images.cnitblog.com/i/450136/201408/151247373278043.png?x-oss-process=image/resize,w_1400/format,webp)
此时运行程序,程序直接崩溃,报错如下:
![](http://images.cnitblog.com/i/450136/201408/151248270458567.png?x-oss-process=image/resize,w_1400/format,webp)
说明:手势不会有superView方法,superView是UIView的方法,说明我们错误的把手势对象当成是UIView来用了。
调试查看出现问题的原因:
![](http://images.cnitblog.com/i/450136/201408/151250352649904.png?x-oss-process=image/resize,w_1400/format,webp)
出现问题的原因:
![](http://images.cnitblog.com/i/450136/201408/151251326232763.png?x-oss-process=image/resize,w_1400/format,webp)
说明:通过lastObject取出来的对象是手势,而不是xib,因此出现上面的错误。
把lastObject换成firstObject即可,必要时可以把数组中的所有对象都打印出来查看。