저는 MonoTouch 질문으로이 질문을 만났습니다. 해결책을 연구하는 동안이 열린 질문을 만났습니다.
짧은 대답은 네가 가능하다는 것입니다. 다음 샘플은 iPhone에서 MonoTouch 및 C#을 사용하여 수행하는 방법을 보여줍니다. 그러나 Objective-C에도 동일한 원칙이 적용됩니다.
이렇게하려면 메인 루프를 수동으로 실행해야합니다. 나는 mainloop을 직접 멈출 수 없었기 때문에 대신 0.5 초 동안 mainloop을 실행하고 사용자가 응답 할 때까지 기다린다.
int WaitForClick()
{
int clicked = -1;
var x = new UIAlertView ("Title", "Message", null, "Cancel", "OK", "Perhaps");
x.Show();
bool done = false;
x.Clicked += (sender, buttonArgs) => {
Console.WriteLine ("User clicked on {0}", buttonArgs.ButtonIndex);
clicked = buttonArgs.ButtonIndex;
};
while (clicked == -1){
NSRunLoop.Current.RunUntil (NSDate.FromTimeIntervalSinceNow (0.5));
Console.WriteLine ("Waiting for another 0.5 seconds");
}
Console.WriteLine ("The user clicked {0}", clicked);
return clicked;
}
즉, 코드를 완전히 재구성하고 출시 예정일이 오기 전에 사용자가 크고 복잡한 계산 도중에 한꺼번에 확인을 요청하지 않도록기도하십시오. 지역 변수의. – GeneralMike
+1. –