UIKit继承结构

UIkit是iOS中很重要的一个框架,在开发中经常会用到,它为OC面向对象开发提供了一个很重要的类NSObject。下面是NSObject内部的继承结构。


UIKit继承结构
下面我们就看看多层继承的一部分;
首先是UIBaritem,在开发中我们经常会用到uitabbarcontroller去管理多个控制器,这时候就会用到UIBaritem去设置。这里我们就不多讲了。
其次是uigesturerecognizer,手势识别。也不多讲了。
最后是uiresponder,响应。我们用APP的时候,会触碰一些控件比如按钮,然后APP会对我们的操作做出一些响应,这些能做出响应,用于APP和用户之前交互的控件,就继承与uiresponder。在MVC开发模式中,试图和控制器都是用于和用户交互的,我们可以看到,UIview和uitabbarcontroller,uitableviewcontroller,uinavigationcontroller,uiimagepickercontroller,uivideoriditorcontrolle都继承自uiresponder。
在面试中经常会问到一个问题;UIbutton继承自谁?很多人直接就会说uiresponder,看好了UIbutton继承自uicontrol,uicontrol继承与UIview,UIview继承与uiresponder。OC是可以多重继承的,当然继承并不是继承了父类的一切,父类的私有属性和私有方法子类是不继承的。通过图片我们可以了解到,继承自UIcontrol的类具有两大属性,一个是视图,一个是控制。因此UIbutton可以设置图片,可以点击控制。
然后我们会看到,UItableview是继承自UIscrollview这也解释了为什么UItableview是可以滑动的。
UItextfield继承自UIcontrol。uitextview继承自uiscrollview。

猜你喜欢

转载自blog.csdn.net/jimi_sunror/article/details/51762337