Ошибка: ошибка: ожидается ")" перед "postData" - PullRequest
0 голосов
/ 03 мая 2011

Как исправить эту ошибку?

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

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

                                    repeats: YES];

Ответы [ 2 ]

1 голос
/ 04 мая 2011

Функции, вызываемые как селекторы от таймеров, не могут иметь параметров.Если я правильно помню, вы можете использовать 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);
}
0 голосов
/ 03 мая 2011

Когда мы читаем документацию о методе, который вы используете, кажется, он неправильно называется:

timer = [NSTimer scheduledTimerWithTimeInterval:10.0
target:self
selector:@selector(postData:)
userInfo:nil
repeats:YES];

А ваши postData должны иметь следующую подпись:

- (void)postData:(NSTimer*)theTimer
...