2013-05-08 74 views
0

我有UIAlertView,我需要根據用戶的響應決定運行哪個代碼(取決於用戶按下YES/NO的按鈕)我已經找到了一些解決方案,但它們都不適用於我:如何在等待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]]; 

但在這種情況下,我也得到同樣的響應問題。

請幫我做一個解決方案工作或建議另一個。

謝謝

亞歷

回答

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 
} 
+0

謝謝你,但它不夠好適合我,因爲這段代碼中我必須做一些變量是原始函數的私有變量,我不想讓它們成爲全局變量。 – 2013-05-08 15:01:16