用Xcode在objective-c中实现一种方法

用Xcode在objective-c中实现一种方法,objective-c,xcode,Objective C,Xcode,我目前正在关注苹果的“你的第一个iOS应用”教程。 不幸的是,我有一个问题 本教程为我提供了一些要添加的代码: - (IBAction)changeGreeting:(id)sender { self.userName = self.textField.text; NSString *nameString = self.userName; if ([nameString length] == 0) { nameString = @"World";

我目前正在关注苹果的“你的第一个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”后面必须有分号

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

方法语法正确

在同一个文件中,您以前肯定有一些语法错误

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

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

底线是您的代码应该是这样的:

不管怎样
不管怎样,m
您粘贴的代码似乎没有错误。请在.h.上显示您的方法声明,或在上面或下面的任何方法。可能是您缺少了结尾大括号。

此应用程序位于开发者apple站点右侧。您确定错误在这一行吗?您可能有额外的偏执或额外的花括号如果您在
@interface/@end
中键入此文本,可能会发生这种情况-接口部分中不允许使用方法实现。哦,我必须是盲的。文档底部还有另一个更改问候语:(id)发件人。我用错了。谢谢大家的回答:)谢谢。我在@interface和@end之间编写代码,而不是在@implementation之间编写代码。你真的帮了我
@interface Whatever : NSObject

//... other stuff

- (IBAction)changeGreeting:(id)sender;

//... other stuff

@end
@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