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

Ahs*_*san 6 function ios

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

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

(NSString*)title = first parameter , type =string, name = title
Run Code Online (Sandbox Code Playgroud)

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

Float是一种类型,如果第二个评级是参数名称,则在start中评级是什么.

Man*_*wal 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.

希望这是有帮助的!