前言
了解OC的都应该知道,在一般情况下,我们是不能向Category中添加属性的,只能添加方法,但有些情况向,我们确实需要向Category中添加属性,而且很多系统的API也有一些在Category添加属性的情况,例如我们属性的UITableView
的section
和row
属性,就是定义在一个名为NSIndexPath
的分类里的,如下
那这到底是怎么实现的呢?
iOS运行时机制简介
iOS运行时机制,简单来说,就是苹果给开发这提供的一套在运行时动态创建类、添加属性/方法(不止这些,还有一些其他功能)的API,它是一套纯C语言的API,使用相应的API就可以通过Category给一个原本存在的类添加属性。
实例
1 |
|
这样就可以在Category中添加属性了。