类别(类目)与延展 iOS Category Extension
2016-09-23 14:24
393 查看
我们平常写代码的时候,经常会用到类目与延展,用起来都很方便,这里简单讨论一下我对这两种方式的理解。
我们用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文件
如下图所示:
实际用的时候,对于类别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/
我们用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文件
如下图所示:
实际用的时候,对于类别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/
相关文章推荐
- ios开发——日常之在Xcode6 后如何创建类目和延展(category&extension&protocol)
- 比较iOS类别Category和扩展Extension以及runtime的associative(关联)机制(容我水一发)
- IOS中的类别(Category)和扩展(Extension)
- category extension protocol(类目,延展,协议)
- iOS 类别(类目)与延展(扩展)区别讲义
- iOS类别(Category)与扩展(Extension,匿名类别)
- OC - 第七章 类的扩展: 类目Category, 延展Extension, 协议Protocol ( 二 )
- category 类别 类目 分类 与 extension的区别
- OC 类目category,延展extension,协议protocol
- iOS类别(Category)与扩展(Extension)
- iOS类别(Category)与扩展(Extension)
- iOS类别和扩展(category和extension)
- Objective-C基础1-类目(Category)和延展(Extension)的区别
- iOS类别(Category)与扩展(Extension)
- iOS类别(Category)与扩展(Extension)
- OC 类目(category) 延展(extension) 协议(protocol)(摘抄)
- ios的类别(category)和扩展(Extension)
- objective-c 类目(Category)和延展(Extension)
- iOS类别(Category)和扩展(Extension)
- OC - 第七章 类的扩展: 类目Category, 延展Extension, 协议Protocol ( 一 )