我们在项目中或多或少都会接触到类别,延展,那么到底类别是什么,而延展又是什么呢?今天我们一块来探讨下:
类别就是为已存在的类添加新的方法,但是不能添加实例变量。比如系统的类,我们看不到他的.m文件,所以没有办法用直接添加方法的方式去实现。这个时候我们可以使用类别来给它添加一些新的方法供我们使用,再具体点说就是,比如说NSString类有10个方法(假设,具体几个,我也没注意),但是呢,NSString可能就是说这10个方法无法满足我们的项目需求,于是我们就会有两种思路,要不就是继承它,然后添加方法,实例变量等,要不就是采用类别的方法来给它添加方法,于是,就引出了我们今天需要探讨的类别。
好了,那么下边就上代码:
其实这个没什么好上代码的,就截图看看过程吧点击cmd+n创建新文件,然后出现下图:
接着就是选择category:
然后看效果:
看看实现文件格式:
就是图片中的,我们创建好了一个category,并且在category中定义了一个方法,方法名是PRintCustomStr,然后在.m中实现,以后哪里需要用的时候我们导入这个类别的头文件,就可以用它里边的方法了,给firstViewController添加的一些方法
上边是创建类别,那么什么时候用类别呢?
总结来说:
1、类包含了很多个方法实现,而这些方法需要不同团队的成员来实现2、当你在使用基础类库中的类时,你不想继承这些类而只想添加一些方法
那么延展是个什么东西呢?在我看来,我什么时候会用延展呢?我在封装控件的时候会用到延展,为什么会用到延展,就是因为我有一些变量,属性,方法等不想暴露在外边,这个时候就可以用到延展,严格意义上来说,oc是没有私有变量或者方法这一说的,不过我们可以通过延展来实现这个私有方法或者变量。
Hope To Help You !
技术交流群:141624834 进群请说你看的那篇博客,我们一起探讨成长
新闻热点
疑难解答