0

我目前正在关注苹果的“你的第一个 iOS 应用”教程。不幸的是我有一个问题。

本教程给了我一些要添加的代码:

- (IBAction)changeGreeting:(id)sender {
    self.userName = self.textField.text;
    NSString *nameString = self.userName;
    if ([nameString length] == 0) {
        nameString = @"World";
    }
    NSString *greeting = [[NSString alloc] initWithFormat:@"Hello, %@!", nameString];
    self.label.text = greeting;
}

xcode 总是告诉我“...(id)sender”之后必须有一个分号。

但是构建应用程序既不能使用分号,也不能没有分号。我真的希望有人可以帮助我。谢谢。

4

2 回答 2

1

方法语法是正确的。

你肯定在同一个文件中之前有一些语法错误。

如果您在实现 ( .m) 文件中编写此代码(否则就是问题所在),请检查.m文件中的所有其他方法是否具有正确的语法。

此外,如果您还在接口文件 ( .h) 中声明该方法,请检查它的语法。它应该具有相同的实现签名。

底线是您的代码应如下所示:

随便.h

@interface Whatever : NSObject

//... other stuff

- (IBAction)changeGreeting:(id)sender;

//... other stuff

@end

随便.m

@implementation

//... other stuff

- (IBAction)changeGreeting:(id)sender {
    self.userName = self.textField.text;
    NSString *nameString = self.userName;
    if ([nameString length] == 0) {
        nameString = @"World";
    }
    NSString *greeting = [[NSString alloc] initWithFormat:@"Hello, %@!", nameString];
    self.label.text = greeting;
}

//... other stuff

@end
于 2013-08-30T10:19:26.313 回答
0

您粘贴的代码似乎没有错误。请在 .h 上显示您的方法声明。或上述任何方法的下方或上方。可能是您缺少端花括号。

于 2013-08-30T10:24:42.403 回答