Objective c 在';之前应为表达式';代币
我试图在Objective-C中制作一个程序时遇到问题 我在MainViewController.m中尝试了一种方法,如下所示Objective c 在';之前应为表达式';代币,objective-c,xcode,Objective C,Xcode,我试图在Objective-C中制作一个程序时遇到问题 我在MainViewController.m中尝试了一种方法,如下所示 - (void)updateLabels:(NSString *)text :(BOOL)isOn; { [self setNameLabel:(text *); if (isOn) [self setOnLabel:(ON *); else [self setOnLabel:(OFF *); } 从这段代码中,我的目标应该是显而易见的。我很可能做了一些非
- (void)updateLabels:(NSString *)text :(BOOL)isOn;
{
[self setNameLabel:(text *);
if (isOn)
[self setOnLabel:(ON *);
else
[self setOnLabel:(OFF *);
}
从这段代码中,我的目标应该是显而易见的。我很可能做了一些非常错误的事情,以获取错误消息Expected expression before')标记
我将感谢任何帮助 这看起来更像是您正在尝试的操作,即将文本指定给标签,然后切换其是打开还是关闭
#define ON YES
#define OFF NO
- (void)updateLabels:(NSString *)text isOn:(BOOL)
{
[self setNameLabel:text];
if (isOn)
[self setOnLabel:ON];
else
[self setOnLabel:OFF];
}
这看起来更像是您正在尝试的操作,即将文本指定给标签,然后切换其是打开还是关闭
#define ON YES
#define OFF NO
- (void)updateLabels:(NSString *)text isOn:(BOOL)
{
[self setNameLabel:text];
if (isOn)
[self setOnLabel:ON];
else
[self setOnLabel:OFF];
}
应该是:
- (void)updateLabels:(NSString *)text status:(BOOL) isOn {
...
您需要删除方法声明后的分号。第二个和后续参数需要一个字段名(status)和一个变量来输入值(isOn)
在接口声明中,将左括号替换为分号,如下所示:
- (void)updateLabels:(NSString *)text status:(BOOL) isOn;
[... updateLabels:@"My label text" status:YES];
然后调用它将如下所示:
- (void)updateLabels:(NSString *)text status:(BOOL) isOn;
[... updateLabels:@"My label text" status:YES];
应该是:
- (void)updateLabels:(NSString *)text status:(BOOL) isOn {
...
您需要删除方法声明后的分号。第二个和后续参数需要一个字段名(status)和一个变量来输入值(isOn)
在接口声明中,将左括号替换为分号,如下所示:
- (void)updateLabels:(NSString *)text status:(BOOL) isOn;
[... updateLabels:@"My label text" status:YES];
然后调用它将如下所示:
- (void)updateLabels:(NSString *)text status:(BOOL) isOn;
[... updateLabels:@"My label text" status:YES];
这里有几个问题。首先,你不需要那个分号。其次,您不需要为打开
和关闭
传递指针:
- (void)updateLabelsWithText:(NSString *)text AndOnState:(BOOL)isOn {
[self setNameLabel: text];
if(isOn)
[self setOnLabel:@"ON"];
else
[self setOnLabel:@"OFF"];
}
这里有几个问题。首先,你不需要那个分号。其次,您不需要为打开
和关闭
传递指针:
- (void)updateLabelsWithText:(NSString *)text AndOnState:(BOOL)isOn {
[self setNameLabel: text];
if(isOn)
[self setOnLabel:@"ON"];
else
[self setOnLabel:@"OFF"];
}
仍然在引发错误的方法声明的结尾处有分号。仍然在引发错误的方法声明的结尾处有分号。-1您不需要删除分号(信不信由你),您可以在选择器中有一个空冒号。哦,我不知道。保留分号并在选择器中使用空冒号有什么效果?我假设它们会被归类为一种不太理想的做法,因为我在我看过的任何示例和书籍中都没有看到这种做法:-)克拉克森:没错,你应该在选择器中命名所有参数,你很少会看到不需要的代码。-1你不需要删除分号(信不信由你)在选择器中可以有一个空冒号。哦,我不知道。保留分号并在选择器中使用空冒号有什么效果?我认为它们会被归类为一种不太理想的做法,因为我在我看过的任何示例和书籍中都没有看到这种做法:-)克拉克森:没错,你应该在选择器中列出所有参数,你很少会看到没有的代码。多余的分号实际上是合法的,信不信由你。多余的分号实际上是合法的,信不信由你。