分享

GCD中UIAlertView的写法

 LoveSeasonLee 2015-09-11
- (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];
            });
        }
     });
}

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多