当程序启动时,并不需要把所有类都加载(实现)。和平常方法中使用懒加载一样的意思。只有用到时才实现。
记得在调用方法查找IMP时,会调用到lookUpImpOrForward方法,在这里面会判断它是否已实现,没有则实现它。
if (!cls->isRealized()) {
realizeClass(cls);
}
调用_read_images时有很多类是不必要马上实现的。
举个例子,如果实现了某个类的+load方法,那么它就不属于懒加载的类了。_read_images时必须realizeClass它。
你可以在_read_images中打印哪些类是不懒加载的类,然后再得到哪些类是懒加载的类。