天天看点

类别(类目)与延展 iOS Category Extension

我们平常写代码的时候,经常会用到类目与延展,用起来都很方便,这里简单讨论一下我对这两种方式的理解。

我们用XCODE创建NEW FILE的时候通常有以下四种:

1.标准的类文件(a.h 和a.m)

2.协议类文件Protocol (protocol.h),没有.m文件

3.类别文件,假设原有类a,(a+b.h文件a+b.m文件,声明并实现了方法d)

4.延展文件,假设原有类a,(a_b.h,声明了方法d),没有.m文件

如下图所示:

类别(类目)与延展 iOS Category Extension

实际用的时候,对于类别Category来说,假设有一个view controller类,导入了a+b.h,那么可以直接调用方法d,且方法d在a+b.m中实现了,已经写死,不能再当前类里面重写这个方法;对于延展extesion来说,view controller类,导入了a_b.h,当前的vc可以对方法d进行在定义的实现(个人理解),话说回来,我觉得延展并没有什么卵用,没有觉得有多大的代码维护与便利的作用,欢迎大家补充指正,谢谢!

相关链接:http://blog.csdn.net/smking/article/details/39009575/