如何解决此错误?
Error: error: expected ')' before 'postData'
NSTimer *timer;
timer = [NSTimer scheduledTimerWithTimeInterval:10.0 target:self
selector: @selector(postData:@"xyz")
userInfo:nil
repeats: YES];
答案 0 :(得分:1)
从计时器调用选择器的函数不能有参数。如果我没记错的话,你可以使用userInfo,它将数组或字典传递给选择器。
做这样的事情:
NSTimer *timer;
timer = [NSTimer scheduledTimerWithTimeInterval:10.0
target:self
selector: @selector(postData:)
userInfo:@"xyz"
repeats: YES];
- (void)postData:(NSTimer*)timer {
NSLog(@"userInfo = %@", timer.userInfo);
}
答案 1 :(得分:0)
当我们阅读您正在使用的方法的文档时,似乎没有正确调用它:
timer = [NSTimer scheduledTimerWithTimeInterval:10.0
target:self
selector:@selector(postData:)
userInfo:nil
repeats:YES];
您的postData必须具有以下签名:
- (void)postData:(NSTimer*)theTimer