A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© alen2015 中级黑马   /  2015-12-12 00:39  /  1148 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

今天学习了category分类的用法:总结://Category的用法
作用:不改变原有的类,去给原有的类添加功能(方法)
写法:
命名:原有的类名+分类名
好处:
可以把一个类分模块,便于协同开发,并优化类的结构
不改变类名,给类添加功能
注意的问题:
分类不能写属性,只能写方法
分类中可以直接用主类的属性,但属性的权限要>=@protected
分类肿的方法不能和主类或其他分类重复,即不能重写,如果重写了,那么会覆盖原来的方法
不同分类中重写了同意方法,那么那个分类最后编译,则哪个类的方法执行
主类永远在分类之前编译
编译顺序
父类->主类->分类
分类的另一个用法:
去给OC提供的类进行分类,添加额外的功能


//类方法:
类对象存放在代码区,程序启动时就会调用load类方法,与实例对象创建无关,方法只执行一次.
initialize类方法是在对象创建时调用的方法,无论类创建多少的对象,此方法在执行时只调用一次
init在对象创建时都回去调用此方法,且在子类创建时,同时会调用父类的init方法

分类的方法重写后会覆盖主类的函数;
load方法在分类创建后不会覆盖主类的load方法,而分类会覆盖主类的其他方法



1 个回复

倒序浏览
不错不错
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马