1. initialize方法是它的类第一次被使用到时才调用,具体为第一次调用此类的相关方法;
2. initialize是一个初始化方法,在初始化自己之前会递归执行父类的初始化操作,也就是父类的initailize会先执行;
3. 如果子类没有实现 initialize,则会调用父类的initialize,如果子类实现了 initialize,那么就直接执行子类的 initialize;
4. 这个方法是通过 objc_msgSend 调用的,需要经过方法查找和消息转发的过程;
5. 分类的 initialize 方法会覆盖原来类的 initialize,且遵循分类的编译顺序原则,最靠后的分类最终替换掉之前的 initialize 方法。
网友评论