在方法交換時(shí),經(jīng)常會(huì)寫(xiě)以下代碼
+ (void)load {
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
//重寫(xiě)load方法是不需要調(diào)用父類(lèi)的load方法的
//防止有人調(diào)用了[super load];
//如果有人手動(dòng)調(diào)用了峻汉,則load會(huì)被調(diào)用多次
});
}
防止有人直接調(diào)用[super load] 或直接調(diào)用load把方法又交換回來(lái)