如何暂停语句执行和UIalertview在单独的循环上运行

时间:2014-09-24 04:33:46

标签: ios objective-c xmpp uialertview

您正在使用Xmpop聊天应用程序,而文件transfaring询问Permission For incomming File Acceptense。对于这项任务我正在使用这样的。

UIAlertView *alrt = [[UIAlertView alloc]initWithTitle:@"Incommming File" message:name delegate:self cancelButtonTitle:@"Reject" otherButtonTitles:@"Accept", nil];
    alrt.tag = 1111;
    [alrt show];
    while (buttonClicked == -1)
    {
        NSLog(@"-- runloop");
        [[NSRunLoop currentRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:2]];
    }
    if (buttonClicked == 1)
    {
        NSLog(@"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~YES");
        return YES;
    }
    else
    {
        NSLog(@"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~NO");
        return NO;
    }

此代码在示例应用程序中工作但在我的聊天应用程序中阻止UI。我该怎么办请帮帮我..先谢谢。

1 个答案:

答案 0 :(得分:0)

尝试在异步块中调用[alrt show];

这样的事情:

dispatch_async(dispatch_get_main_queue()) ^{
    [alrt show];
}  

希望这有帮助!