+ (void) showLoadHUD:(UIView *)toView message:(NSString *)message {
if (toView == nil) toView = [[UIApplication sharedApplication].windows lastObject];
__weak UIView * weakView = toView;
dispatch_async(dispatch_get_main_queue(), ^{
__strong UIView * view = weakView;
MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:view animated:YES];
if (message != nil && message.length > 0) hud.label.text = message;
hud.label.numberOfLines = 0;
hud.removeFromSuperViewOnHide = YES;
});
}
+ (void)hideHUDForView:(UIView *)view {
[MBProgressHUD hideHUDForView:view animated:YES];
}
条件:
同时请求两个接口
都有菊花,故有两个菊花
因为
[MBProgressHUD hideHUDForView:view animated:YES];
有动画延时的原因,第一个接口回来的时候本来要隐藏掉的菊花其实没来得及移除,当第二个接口回来的时候,假如这个时候动画执行完也要移除菊花的时候,就会重叠在一起,只移除了第二个菊花,(两次移除的菊花内存地址是一样的,表明是一个对象,而不是两个),所以bug就出现在这里了,第一个菊花没有移除,一直在转。
配合着内存地址来看