- 调用时机的不同
load 方法在程序启动编译时调用,initialize 方法在使用类时调用 - 是否能被分类覆盖
如果分类中实现了 load 方法,不会覆盖类中的 load 方法,编译时类与分类都实现了 load 方法时会都调用,多个分类重写了 load 方法时,编译时都会调用各个分类的 load 方法,同时子类的 load 方法也不会影响
initialize 方法能被分类覆盖,一旦分类重写了该方法,在使用类时只调用分类重写的initialize方法 ,多个分类同时重写了initialize ,以最后参与编译的分类方法为准;因此在使用类时,首先判断其分类有没有实现initialize方法,没有再去查找当前类有没有实现initialize,没有再去其父类查找
load 方法与initialize 方法的使用区别
最新推荐文章于 2021-09-16 17:24:06 发布