2011-05-03 29 views
0

如何解決此錯誤?錯誤:error'expected')'postData'之前

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

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

            repeats: YES]; 

回答

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); 
} 
0

當我們讀到您正在使用的方法的文檔,現在看來,這不是正確調用:

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

而且你POSTDATA必須具有以下特徵:

- (void)postData:(NSTimer*)theTimer