“:”标记之前的预期表达式

时间:2011-04-07 06:44:43

标签: iphone

我在下面给出的前两行代码中收到此错误

错误是“之前的预期表达”:“令牌”......

有人请帮我改写这个......

(IBAction)buttonPressed {
    NSInteger stateRow =[picker selectedRowInComponent:kStateComponent];
    NSInteger zipRow =  [picker selectedRowInComponent:kZipComponent];
    NSString *state=[self.states objectAtIndex:stateRow];
    NSString *zip=[self.zips objectAtIndex:zipRow]
    NSString *title=[[NSString alloc]initWithFormat:@"You selected zip code %@",zip];
    NSString *message=[[NSString alloc]initWithFormat:@"%@ is in %@",zip,state];
    UIAlertView *alert=[[UIAlertView alloc]initWithTitle:title message:message delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
    [alert show];
    [alert release];
    [title release];
    [message release];

}

3 个答案:

答案 0 :(得分:4)

你必须把它写成

(IBAction)buttonPressed {

事实上它应该是

 -(IBAction)buttonPressed {

可能会遗漏-,可能会造成此错误。

希望这有帮助。

修改

如果仍然没有帮助,那么你可以试试这个。

-(IBAction)buttonPressed:(id)sender {

修改-2:

此外,您在第4号陈述末尾缺少;

 NSString *zip=[self.zips objectAtIndex:zipRow] 

你应该在最后添加一个分号(;)

希望这能解决它

答案 1 :(得分:3)

在开始之前(IBACTION)有一个 - 缺失。

答案 2 :(得分:-1)

我已经测试了这段代码并且工作正常。

根据选择器的要求更改“(NSInteger)组件”。

- (IBAction)buttonPressed:(id)sender {

NSInteger stateRow =[pickerView selectedRowInComponent:"(NSInteger)component"];
NSInteger zipRow =  [pickerView selectedRowInComponent:"(NSInteger)component"];

NSLog(@"stateRow - %d",stateRow);
NSLog(@"zipRow - %d",zipRow);

}

还放 - (IBAction)buttonPressed:(id)发件人;在 .h 文件