错误:错误:在“postData”之前预期')'

时间:2011-05-03 07:07:56

标签: objective-c nstimer

如何解决此错误?

Error: error: expected ')' before 'postData'

NSTimer *timer;
timer = [NSTimer scheduledTimerWithTimeInterval:10.0                                         target:self
selector: @selector(postData:@"xyz")
userInfo:nil

                                    repeats: YES];

2 个答案:

答案 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