1

UIAlertView の表示メッセージで Exc_Bad_Access を取得します。

UIAlertView *systemAlert1 = [[UIAlertView alloc]initWithTitle:@"System message" message:@"note" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
    [systemAlert1 show];  **//Crashing on this line [EXC_BAD_ACCESS]**
    [systemAlert1 release]; 

なぜ私はこれを取得していますか?? 助けてください

4

2 に答える 2

1

アラートの表示を含むすべてのUIは、メインスレッドで実行する必要があります。他のスレッドでこれを実行している場合は、間違いなくクラッシュします。

于 2012-10-26T11:16:46.110 に答える
0

アラートがメイン スレッドではなくバックグラウンド スレッドから呼び出されることが原因である可能性があります。アプリケーションのこの種の動作を回避するために、ユーザー インターフェイス関連の変更はメイン スレッドでのみ行うことをお勧めします。

このコードを試してください:

UIAlertView *systemAlert1 = [[UIAlertView alloc]initWithTitle:@"System message" message:@"note" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[systemAlert1 performSelectorOnMainThread:@selector(show) withObject:nil waitUntilDone:YES]; 
[systemAlert1 release]; 

お役に立てれば。他に何か必要な場合はお知らせください。

于 2013-07-24T11:23:13.787 に答える