load 和 initialize

来源:互联网 发布:最新php环境搭建 编辑:程序博客网 时间:2024/06/10 00:10
1.load 在类或者类目被添加到runtime的时候加载一次,initialize是类第一次收到消息的时候被加载,load是在main函数之前,initialize是在main函数之后。

2.load方法的调用顺序是:superClass -> class -> category;initialize方法的调用顺序是:superClass -> class。都不需要显示调用父类的方法,系统会自动调用,load方法是函数指针调用,initialize是发送消息。子类如果没有实现load函数,子类是不会调用父类的load函数的,但是子类没有实现initialize函数,则会调用父类的initialize函数。

3.load和initialize内部实现都加了线程锁,是线程安全的,因此,这两个函数应该做一些简单的工作,不适合复杂的工作。

4.load函数通常用来进行Method Swizzle,initialize函数则通常初始化一些全局变量,静态变量。



原创粉丝点击