0

私は UIAlertView を持っており、ユーザーの応答に従って実行するコードを決定する必要があります (ユーザーが押すボタンに依存します YES/NO) そのためのいくつかの解決策を見つけましたが、それらはすべてうまくいきません:

残りのコードを

-(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つを機能させるか、別の解決策を提案してください。

ありがとうございました、

アレックス

4

1 に答える 1

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
}
于 2013-05-08T13:04:56.830 に答える