在消息发送表达式的开头缺少“[”

时间:2013-07-20 12:28:59

标签: objective-c

我没有看到这个代码有什么问题,因为第4行得到了“Missing”[“在消息或表达式的开头”,第6行得到错误“Expected”]。

- (void) subtractTime;
{
     seconds--;
     timerLabel.text[NSString stringWithFormat:@"Time: %i", seconds]

     if (seconds -- 0)
     {
           [timer invalidate];
     }
}

我无法弄清楚出了什么问题,这真的令人沮丧。

1 个答案:

答案 0 :(得分:4)

您的代码中存在一些语法问题。

我补充说:

  1. timerLabel.text之后的等号,因为您正在设置文本。
  2. 在同一行之后的分号(它是该语句的结尾)。
  3. 如果seconds == 0等于seconds,则0的双等号符号进行比较,否则语法无效。
  4. 更新的代码:

    - (void) subtractTime;
    {
         seconds--;
         timerLabel.text = [NSString stringWithFormat:@"Time: %i", seconds];
    
         if (seconds == 0)
         {
               [timer invalidate];
         }
    }
    

    重要提示:

    1. seconds变量在哪里声明?确保正确管理此变量,否则它将始终等于0!