我正在尝试在Objective-C中制作一个程序。
我有一个方法,我在我的MainViewController.m中尝试,如下所示。
- (void)updateLabels:(NSString *)text :(BOOL)isOn;
{
[self setNameLabel:(text *);
if (isOn)
[self setOnLabel:(ON *);
else
[self setOnLabel:(OFF *);
}
我的目标应该从这段代码中显而易见。我正在做一些非常错误的事情来获取错误消息Expected expression before ')' token
。
我很感激任何帮助!
答案 0 :(得分:3)
这看起来更像您要做的事情,即将文本分配给标签,然后切换其是ON还是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];
}
答案 1 :(得分:2)
这里有几个问题。首先,你不需要那个分号。其次,您不需要传递ON
和OFF
的指针:
- (void)updateLabelsWithText:(NSString *)text AndOnState:(BOOL)isOn {
[self setNameLabel: text];
if(isOn)
[self setOnLabel:@"ON"];
else
[self setOnLabel:@"OFF"];
}
答案 2 :(得分:-1)
应该是:
- (void)updateLabels:(NSString *)text status:(BOOL) isOn {
...
您需要在方法声明后删除分号。第二个和后续参数需要字段名称(状态)和变量以将值放入(isOn)。
在接口声明中,您可以使用开头括号交换分号,如下所示:
- (void)updateLabels:(NSString *)text status:(BOOL) isOn;
然后调用它看起来像这样:
[... updateLabels:@"My label text" status:YES];