UIAlertView* av = [UIAlertView alloc];
int a = [self somefunc];
if (a == 1)
{
[[av initWithTitle:nil message:@"test msg 1" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil] show];
}
else if (a == 2)
{
[[av initWithTitle:nil message:@"test msg 2" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil] show];
}
[av release];
このコードで分析を実行すると、「参照カウントされたオブジェクトは解放された後に使用されます」というエラーが次の行に表示されます。[av release];
AVがリリースされた場所を知ることができますか?UIAlertViewのshow関数はAVをリリースしましたか?
分析ツールを使用した場合、以下のコードはエラーを表示しません。
if (a == 1)
{
UIAlertView* av = [[UIAlertView alloc] initWithTitle:nil message:@"test msg 1" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
[av show];
[av release];
}
else if (a == 2)
{
UIAlertView* av = [[UIAlertView alloc] initWithTitle:nil message:@"test msg 1" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
[av show];
[av release];
}