0

ユーザーが角丸長方形のボタンに触れてから 3 秒後にアラートを表示しようとしていますが、アプリを実行しても機能しません (ただし、Xcode では「問題はありません」と表示されます)。

これは私の.hファイルです:

@interface ViewController : UIViewController {
}

-(IBAction)timerAlert:(id)sender;
-(void)showAlert;

これは私の実装ファイルです:

@implementation ViewController

-(IBAction)timerAlert:(id)sender {

    [NSTimer scheduledTimerWithTimeInterval:3 target:sender selector:@selector(showAlert) userInfo:nil repeats:NO];
}

-(void)showAlert {

    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Three seconds have elapsed" message:@"Please return to the app" delegate:self cancelButtonTitle:@"Return" otherButtonTitles:nil, nil];
    [alert show];
}

これは私が得るエラーメッセージです:

2012-04-04 19:25:42.833 DisplayAfterTime[740:f803]
-[UIRoundedRectButton showAlert]: unrecognized selector sent to instance 0x6b74220 
2012-04-04 19:25:42.837 DisplayAfterTime[740:f803]
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIRoundedRectButton showAlert]: unrecognized selector sent to instance 0x6b74220'
*** First throw call stack: (0x13c7022 0x1558cd6 0x13c8cbd 0x132ded0 0x132dcb2 0x94deb6 0x139b936 0x139b3d7 0x12fe790 0x12fdd84 0x12fdc9b 0x12b07d8 0x12b088a 0x11626 0x1edd 0x1e45) terminate called throwing an exception

それで、私は何を間違っていますか?

4

1 に答える 1

1

間違ったターゲットに送信するようにタイマーを設定しています。セルフであるべきです。

于 2012-04-04T17:50:10.937 に答える