MBProgressHUD使用问题处理

问题背景

iOS10系统发现[MBProgressHUD showLoadingWithMessage:@"" toView:[UIApplication sharedApplication].keyWindow]多次调用加载框由于异步处理数据回调时长不一致,出现了加载框一直不消失,神奇的是,在iOS12、13上尽然没有出现加载框不消失,一切都那么完美,后发现在MBProgressHUD库 (图1) 中[subview isKindOfClass:self]由于时差的而出现问题。

出现背景

加载框A、加载框B差不多同时加载到容器视图上,但是在加载框A没从父类移除前,加载框B通过-(MBProgressHUD*)HUDForView:依然取的的是加载框A对象,导致容器视图上加载框B对象的消失视图的调用,以至于加载框一直都存在的现象。
MBProgressHUD使用问题处理_第1张图片

处理方式

方式一: 添加全局数组对象保存加入的Hub对象,每次调用- (bool)hideHUDForView:: 方式取全局数组第一个对象,并删除。

MBProgressHUD使用问题处理_第2张图片

方式二: 运用内存管理的引用计数的方式处理。

你可能感兴趣的:(iOS)