0

我试图在用户触摸圆角矩形按钮三秒钟后显示警报,但是当我运行应用程序时它不起作用(但 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 回答