如何在iOS中使用多个参数声明函数

时间:2012-08-30 04:13:41

标签: ios function

任何人都可以解释以下代码吗?

- (id)initWithTitle:(NSString*)title ratings:(float)rating;

(NSString*)title = first parameter , type =string, name = title

rating:(float)rating = ? ? ? 这是什么意思?

如果第二个评级是参数名称,则浮动是一种类型,在开始时是什么评级。

4 个答案:

答案 0 :(得分:28)

Objective-C方法旨在自我记录,并借鉴了Smalltalk的丰富传统。

我会尝试解释你在这里有什么,-(id)initWithTitle:(NSString*)title rating:(float)rating;

- (id)

第一部分表明这是一个返回id对象的Objective C实例方法。 -(破折号)表示这是一个实例方法,其中+表示这是一个类方法。括号中的第一个值是方法的返回值。

initWithTitle:

此部分是消息名称的一部分。在这种情况下,完整的消息名称是initWithTitle:rating:。 Objective-C运行时获取此方法信息并将其发送到指示的接收器。在纯C中,这看起来像 id initWithTitle(NSString* title, float rating)。但是,由于这是Objective-C,因此其他信息将打包到消息名称中。

(NSString*)title

此部分是输入的一部分。此处的输入类型为NSString*,并且具有标题的本地变量名称。

rating:

此部分是消息名称的第二部分。正如您在此处所看到的,消息名称被拆分以帮助指示您传递给接收器的信息。因此,如果我用变量foo和bar向对象myObject发送消息,我会输入: [myObject initWithTitle:foo rating:bar]; 而不是C ++风格: myObject.initWithTitle(foo, bar);

(float)rating

这是输入的最后一部分。这里的输入是float类型,并且有一个局部变量名称rating。

希望这有用!

答案 1 :(得分:2)

这将指导您了解如何声明函数。

An Overview of Objective-C Functions

答案 2 :(得分:0)

initWithTitle是objective-c中的方法名称,

titlerating分别是initWithTitle methodstring float的两个参数。

其中ratings只是给参数第二部分的名称或标识符。

您可以使用以下方法调用此方法:[self initWithTitle:str ratings:0.5];

我希望你现在明白我的疑问:)

答案 3 :(得分:0)

- (id)initWithTitle:(NSString*)title ratings:(float)rating;

你知道吗

(NSString*)title =第一个参数,type =字符串,name =标题

同样的方式

ratings:(float)rating ratings:是参数,type = float,rating是此函数中的占位符名称。