2012-03-29 9 views
-1

私はiPhoneでブロックを使用しています。その中には、タイトルとテキストのあるUIAlertViewが表示されています。
アラートビューが表示されないことがあります。 他の領域では正常に機能しています。 誰かが私に理由を教えてもらえますか?UIAlertViewはしばらく後に来る

+1

は、いくつかのコードを投稿してください。 – Hiren

+0

どのブロックが実行されていますか...コードを投稿する必要があります。 – Jamie

答えて

3

UI *要素はメインスレッドから処理する必要があります。ブロックを使用してバックグラウンドで何かを実行すると、すべての呼び出しがメインスレッドのdispatch_queueにあるUI*にラップされます。このような

dispatch_async(myQueue, ^{ 
    // do something in background 
    dispatch_async(dispatch_get_main_queue(), ^{ 
     // Interaction with User Interface Elements on the main thread... 
     UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Foo" message:@"Bar" delegate:nil cancelButtonTitle:@"Cancel" otherButtonTitles:@"OK", nil]; 
     [alert show]; 
    }); 
}); 
+2

または、[self performSelectorOnMainThread:@selector(MethodThatShowsAlert :) withObject:IfAnything waitUntilDone:NO]; ' – tipycalFlow

+0

どうもありがとうございました。出来た。 – iVipS

関連する問題