如何在等待UIAlertView响应时暂停代码执行?

时间:2013-05-08 12:59:57

标签: objective-c uialertview

我有UIAlertView,我需要根据用户的响应决定运行哪些代码(取决于用户按下的按钮是/否)我找到了一些解决方案,但它们都不适用于我:

将其余代码放在

-(void)alertView : (UIAlertView *)alertView clickedButtonAtIndex : (NSInteger)buttonIndex

功能,但问题是我的警报不会在每次执行时运行,但仅在某些情况下运行,因此我需要原始函数中的代码,这使我无法使用此解决方案。

使用标记(单击)表示按下按钮并使用以下代码行:

while (!clicked) [[NSRunLoop currentRunLoop] runUntilDate:[NSDate distantFuture]];

但是当我使用它时,我无法按下UIAlert上的按钮,我的意思是,它不会响应。 然后我找到了一个有点不同的解决方案,有人声称它适用于他,原始代码在c#但在obj-c中它将是:

while (!clicked) [[NSRunLoop currentRunLoop] runUntilDate:[[NSDate date] dateByAddingTimeInterval:0.5]];

但在这种情况下,我也会遇到相同的响应问题。

请帮助我使其中一个解决方案有效或建议另一个解决方案。

谢谢,

亚历

1 个答案:

答案 0 :(得分:0)

alertview的第一个案例委托是最简单的方法

if(showalert==true)//there will be a case to show alert or not 
{
show alert implement rest of code in delegate
}
else
{
write the rest of code here, if alertview is not called it will execute
}