如何将参数传递给由NSTimer调用的方法?我的计时器看起来像这样:将参数传递给由NSTimer调用的方法
[NSTimer scheduledTimerWithTimeInterval:4 target:self selector:@selector(updateBusLocation) userInfo:nil repeats:YES];
我希望能够将字符串传递给方法updateBusLocation。此外,我应该在哪里定义方法updateBusLocation?在创建计时器的同一个.m文件中?
编辑:
其实我仍然有问题。我收到错误消息:
终止应用程序由于未捕获的异常 'NSInvalidArgumentException',原因是: '* - [MapKitDisplayViewController updateBusLocation]:无法识别的选择发送到实例0x4623600'
这里是我的代码:
- (IBAction) showBus {
//do something
[NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(updateBusLocation) userInfo:txtFieldData repeats:YES];
[txtFieldData release];
}
- (void) updateBusLocation:(NSTimer*)theTimer
{
NSLog(@"timer method was called");
NSString *txtFieldData = [[NSString alloc] initWithString:(NSString*)[theTimer userInfo]];
if(txtFieldData == busNum.text) {
//do something else
}
}
编辑#2: 没关系您的示例代码工作正常感谢您的帮助。
,即时通讯肯定一吨的人在一个点或另想知道固体问题。谢谢! – 2013-02-14 01:25:14