我正在做关于iPhone编程的视频教程,这是一个非常简单的计算器应用程序。有一次我声明了以下方法::
- (NSString*)calculate:(NSString*)operation withNumber:(NSInteger)number
{
return nil;
}
此时尚未实施。然后我想用以下方法调用该方法:
self.display.text = [self calculate:[sender currentTitle] withNumber:[self.display.text intValue]];
Xcode在这里给我一个错误:'期望表达'。
这有什么不对?方法中的withNumber
是什么?我会理解
- (NSString*)calculate :(NSString*)operation :(NSInteger)number;
这是一个将字符串和int作为参数并返回String的方法。我不知道withNumber
在这里做了什么。
答案 0 :(得分:3)
好的,要使它工作,你需要删除不必要的空格:
- (NSString*)calculate:(NSString*)operation withNumber:(NSInteger)number{
...
}
当然也在调用方法。
关于'什么是数字? ':这是多输入法在Objective-C中的样子,方法的名称不在参数之前。该方法实际上在运行时系统中命名为calculate:withNumber:
我强烈建议您阅读some beginner's guide
您可以执行- (NSString*)calculate:(NSString*)operation :(NSInteger)number
,然后您必须致电[self calculate:myString :myNumber];
,但绝大多数Objective-C用户都不会这样做:该语言让您有机会澄清您的代码并指明争论就是:抓住机会。