程序员

+initialize和+load的区别

2020-07-04  本文已影响0人  CoderKK

+load方法

+initialize方法

+initialize和+load的区别

+initialize是通过objc_msgSend调用的,所以有以下特点:如果子类没有实现+initialize,会调用父类的+initialize(所以父类的+intialize方法可以会被调用多次),如果分类实现的+initialize,就会覆盖类的+initialize调用。而+load是通过方法地址直接调用的,所以不会有这些特点。

上一篇 下一篇

猜你喜欢

热点阅读