Category
Category:不用继承对象,就直接增加新的method,或替换原本的method。
前一章提到,Objective-C语言中,每个class有哪些method,都是在runtime时加入的,我们可以透过runtime提供的一个叫做class_addMethod
的function,加入对应某个selector的实例。而在runtime时想要加入新的method,使用category会是更容易理解与写作的方法,因为可以使用与定义class时差不多的语法,同时也以一般实例method的方式,实作我们要加入的method。
至于在Swift 语言中,Swift 的Extension 特性,也与Objective-C 的Category 差不多。