NSUrlConnection の return ブロックで UIAlertView を使用すると、まれにクラッシュが発生します。そのような非同期スレッドで UIAlertView を使用することは許可されていませんか?
ほとんどの場合、問題なく動作しているようです。
NSUrlConnection の return ブロックで UIAlertView を使用すると、まれにクラッシュが発生します。そのような非同期スレッドで UIAlertView を使用することは許可されていませんか?
ほとんどの場合、問題なく動作しているようです。
すべての UI 関連のコードは、メイン スレッドで動作する必要があります。
別のスレッドで alertView を表示したときに、同様のクラッシュが発生しました。
dispatch_async
またはを使用して alertView を表示する必要がありますperformSelectorOnMainThread
。
dispatch_async(dispatch_get_main_queue(), ^{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Title"
message:@"Message"
delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alert show];
});
また
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Title"
message:@"Message"
delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alert performSelectorOnMainThread:@selector(show) withObject:nil waitUntillDone:NO];
メインスレッドでのみ UIAlertView を使用できると思います。performSelectorOnMainThread:<#(SEL)#> withObject:<#(id)#> waitUntilDone:<#(BOOL)#>
return ブロックで使用します。