我目前正在关注苹果的“您的第一个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”之后必须有分号。
但是构建应用程序既不能使用分号,也不能使用分号。 我真的希望有人可以帮助我。感谢。
答案 0 :(得分:1)
方法语法正确。
你在同一个文件中肯定会有一些语法错误。
如果您在实现(.m
)文件中编写此代码(否则就是问题),请检查.m
文件中的每个其他方法是否具有正确的语法。
此外,如果您还在接口文件(.h
)中声明该方法,请检查其语法。它应该具有相同的实现签名。
这里的底线是代码的样子:
@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
答案 1 :(得分:0)
似乎你粘贴的代码没有错误。请在.h.Or上面显示你的方法声明或者上面的任何方法。可能你在那里缺少花括号。