Object-c之category

周知,类别Category是Object-c里最灵活的东西之一(个人认为哈)。他能动态的给一个类添加一些方法或者姑且叫做属性的东西。

那么Category的原理是什么呢,自己去科普下。原来是Category在定义的时候就注册进了一个hash集,这里面存了要扩展的类,以及方法,属性什么的。当这个类在编译的时候,通过runtime会去加载Category入驻的那个hash集,并把这些方法什么的,属性什么的,注入进这个类里。

而我们在类里引入这个Category只是为了通过编译,其实这个类已经被Category实现了某些方法。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 转至元数据结尾创建: 董潇伟,最新修改于: 十二月 23, 2016 转至元数据起始第一章:isa和Class一....
    40c0490e5268阅读 2,074评论 0 9
  • 摘要 无论一个类设计的多么完美,在未来的需求演进中,都有可能会碰到一些无法预测的情况。那怎么扩展已有的类呢?一般而...
    癫癫的恋了阅读 1,102评论 0 6
  • 这篇文章完全是基于南峰子老师博客的转载 这篇文章完全是基于南峰子老师博客的转载 这篇文章完全是基于南峰子老师博客的...
    西木阅读 30,893评论 33 466
  • 趁着工作中的一点闲暇,我坐在营区内的一处石沿上,望着一只独自觅食的鸟儿,静静发呆,曾经几时,我也幻想过变成它,在广...
    心似荒野阅读 228评论 0 0
  • 摘一段《观呼吸》一书中的文字:去参加一个派对,听听里面的笑声。那些尖锐的声响,传达出表面上看似的欢乐、骨子里却惶然...
    雷云玲阅读 164评论 0 1

友情链接更多精彩内容