Objective C方法声明/调用

时间:2012-08-22 09:29:34

标签: objective-c iphone

我正在做关于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在这里做了什么。

1 个答案:

答案 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用户都不会这样做:该语言让您有机会澄清您的代码并指明争论就是:抓住机会。