調(diào)用方式
- load函數(shù)直接調(diào)用。
- initialize是通過(guò)objc_msgSend調(diào)用。
調(diào)用時(shí)刻
- load是在程序初始化的時(shí)候調(diào)用穴翩。(只調(diào)用一次)
- initialize在類第一次接收到消息的時(shí)候調(diào)用土榴。
調(diào)用順序
- load
- 先調(diào)用類中的load
先編譯的類先調(diào)用load
在調(diào)用子類的load之前,會(huì)先調(diào)用父類的 - 后調(diào)用category中的load
先編譯的先調(diào)用
- initialize
- 父類先于子類調(diào)用
- category會(huì)覆蓋本類中的initialize
- 子類沒(méi)實(shí)現(xiàn)會(huì)調(diào)用父類的儡炼,所以父類的initialize可能調(diào)用多次