iOS开发篇——介绍类目和延展(OC)
2013-11-06 16:24
274 查看
蓝鸥iOS培训讲师推荐:简单的学习OC中的知识点,类目和延展,那么就要了解类目和延展分别是什么?
一、类目
为已知的类增加新的方法
1.类目方法的应用:
1)对现有类进行扩展:比如:可以扩展Cocoatouch框架中的类,在类目中增加的方法会被子类继承,而且在运行时跟其他的方法没有区别。
2)作为子类的替代手段:不需要定义和使用一个子类,可以通过类目直接向已有的类里增加方法。
3)对类中的方法归类:利用catigory把一个庞大的类划分为小块来分别进行开发,从而更好地对类中的方法进行更新和维护。
2.类目方法的局限性:
1)无法向类目中添加新的实例变量,类目没有位置来容纳实例变量。如果想增加类的实例变量,只能通过定义子类的方式。
2)如若,在类目中覆盖先后类的方法。这样会引起super消息的断裂,因为类目总的方法具有更高的优先级,因此,一般不要覆盖现有类中的方法。
3.类目的定义:
类目的命名规则:类名+扩展方法,如“NSString+Revert”。类目的接口声明与类的定义十分相似,但类目不继承父类,只需要带有一个括号,表明该类目的主要用途。
NSString+Revert.h文件:
NSString+Revert.m文件:
二、延展
可以在这个类的定义里用类目声明私有方法
类的延展可以看成是一种匿名的类目,类有时需要一些只有自己才能看见,所用的私有方法这种私有方法可以通过延展的方式来声明,延展中定义的方法在类本身的@implementation代码区域中实现。
当在定义延展的时候不提供类目名时,延展中定义的方法被看作是“必须实现”的API,如果方法没有实现代码,那么编译器就会给予警告,这个时候的方法实现就一定出现在类主体的@implementation代码块中。
OC中的类目和延展内容讲解基本上就是这样,希望能够对你有所帮助!
一、类目
为已知的类增加新的方法
1.类目方法的应用:
1)对现有类进行扩展:比如:可以扩展Cocoatouch框架中的类,在类目中增加的方法会被子类继承,而且在运行时跟其他的方法没有区别。
2)作为子类的替代手段:不需要定义和使用一个子类,可以通过类目直接向已有的类里增加方法。
3)对类中的方法归类:利用catigory把一个庞大的类划分为小块来分别进行开发,从而更好地对类中的方法进行更新和维护。
2.类目方法的局限性:
1)无法向类目中添加新的实例变量,类目没有位置来容纳实例变量。如果想增加类的实例变量,只能通过定义子类的方式。
2)如若,在类目中覆盖先后类的方法。这样会引起super消息的断裂,因为类目总的方法具有更高的优先级,因此,一般不要覆盖现有类中的方法。
3.类目的定义:
类目的命名规则:类名+扩展方法,如“NSString+Revert”。类目的接口声明与类的定义十分相似,但类目不继承父类,只需要带有一个括号,表明该类目的主要用途。
NSString+Revert.h文件:
NSString+Revert.m文件:
二、延展
可以在这个类的定义里用类目声明私有方法
类的延展可以看成是一种匿名的类目,类有时需要一些只有自己才能看见,所用的私有方法这种私有方法可以通过延展的方式来声明,延展中定义的方法在类本身的@implementation代码区域中实现。
当在定义延展的时候不提供类目名时,延展中定义的方法被看作是“必须实现”的API,如果方法没有实现代码,那么编译器就会给予警告,这个时候的方法实现就一定出现在类主体的@implementation代码块中。
OC中的类目和延展内容讲解基本上就是这样,希望能够对你有所帮助!
相关文章推荐
- iOS开发篇——OC延展类目协议介绍
- 蓝鸥iOS从零基础到精通就业-OC语言入门 类目和延展2
- iOS开发篇——OC 协议和代理设计模式介绍
- ios 开发 OC编程 类的扩展 协议 延展和 类目
- iOS开发章节—OC中的类目和延展讲解
- iOS开发篇——OC中的NSNumber数字对象介绍
- iOS开发篇——OC之数据类型介绍 推荐
- 蓝鸥iOS从零基础到精通就业-OC语言入门 类目和延展
- 蓝鸥iOS从零基础到精通就业-OC语言入门 类目和延展1
- iOS设计之--OC学习总结之延展类目协议
- iOS学习笔记:Object-C基础语法(OC介绍与Foundation初步)
- 黑马程序员——ios开发基础之OC中的分类、协议、延展和代理
- iOS开发-Day21-OC ARC&类目
- 寒假 OC-代理,类目,内存,协议,延展,数组,字典,集合
- iOS开发篇——OC之面向对象的三大特征
- iOS开发篇(八)FMDB的使用与介绍1
- OC_类的扩展(类目,延展)
- iOS开发-Day22-OC 延展和协议以及深浅复制
- IOS开发之路-Objective-C 类目、延展、协议
- OC学习篇之-----类目·延展·协议之--延展