- (void)viewDidLoad
{
//……
if (![self isStartLoading]) [self startLoading:nil]; //loading界面放在这可以正常显示,速度比较快
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
if ([self getNetConnectState])
{
}
else
{
/*alert 直接放在这里可以显示,但是特别耗时间,而且这段时间整个界面是卡死的,建议将这个写在dispatch_get_main_queue()中,如下 */
UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:@"没有连接到网络,请检查网络设置。" delegate:self cancelButtonTitle:@"确定" otherButtonTitles: nil];
[alert show];
[alert release];
/* 弹窗的正确写法 */
dispatch_async(dispatch_get_main_queue(), ^{
UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:@"没有连接到网络,请检查网络设置。" delegate:self cancelButtonTitle:@"确定" otherButtonTitles: nil];
[alert show];
[alert release];
if ([self isStartLoading]) [self stopLoading];
});
}
});
}
|