0

UIAlertView のキャンセル ボタンでアプリ ストアを起動して、アプリを更新できるようにします。アプリでアプリ ストアを起動することはできますが、UIAlertView のキャンセル ボタンが押されたときにのみ起動するようにしたいと考えています。私が今持っている方法では、キャンセルボタンを押すと次のエラーが表示されます。

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFType alertView:clickedButtonAtIndex:]: unrecognized selector sent to instance 0x1651bd90'

UIAlertView を初期化して表示するコードは次のとおりです。

NSString* updateString = @"Please update the app!  Thank you!";
UIAlertView* alert = [[UIAlertView alloc] initWithTitle:@"Please Update" message:updateString delegate:self cancelButtonTitle:@"Update Now" otherButtonTitles:nil];

[alert show];

押されたキャンセルボタンを処理するはずの関数は次のとおりです。

-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"itms://itunes.com/apps/appname"]];
}

含まれているオブジェクトのヘッダー ファイルに、UIAlertViewDelegate プロトコルに従うことを記述しました。

ここで何が間違っていますか?

4

1 に答える 1

-1

このコードを呼び出していたオブジェクトが解放される可能性があります。ARC を使用している場合は、プロパティにしてください。

于 2014-05-08T04:57:38.153 に答える