dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.3f * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[MBProgressHUD hideHUD];
});
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5f * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
LaunchViewController *launch=[[LaunchViewController alloc] init];
NavViewController *nav = [[NavViewController alloc] init];
[nav setViewControllers:@[launch]];
BFWindow.backgroundColor = [UIColor whiteColor];
BFWindow.rootViewController=nav;
NSString *message = IsCancel?@"注销登录成功":@"退出登录成功";
[MBProgressHUD showSuccess:message];
});
这个是退出登录的部分,假如在一个类中执行了前面 的部分,即主线程延迟0.3秒执行一个操作,那么在0.3秒内是不能对这个类进行释放的,退出登录也会不能成功的.
我觉得应该是系统判定这个类还有任务没执行完,不能退出runloop,导致的.