任何人都可以解释以下代码吗?
- (id)initWithTitle:(NSString*)title ratings:(float)rating; (NSString*)title = first parameter,type =string,name = title
评级:(浮动)评级=? ? ?这是什么意思 ?
Float是一种类型,如果第二个评级是参数名称,则在start中评级是什么.
解决方法
Objective-C方法旨在自我记录,并借鉴了Smalltalk的丰富传统.
我将尝试解释你在这里有什么,– (id)initWithTitle:(NSString *)title rating:(float)rating;
– (ID)
第一部分表明这是一个返回id对象的Objective C实例方法. – (破折号)表示这是一个实例方法,其中a表示这是一个类方法.括号中的第一个值是方法的返回值.
initWithTitle:
此部分是消息名称的一部分.在这种情况下,完整的消息名称是initWithTitle:rating:. Objective-C运行时获取此方法信息并将其发送到指示的接收器.在纯C中,这看起来像
id initWithTitle(NSString * title,float rating).但是,由于这是Objective-C,因此其他信息将打包到消息名称中.
(* NSString的)标题
这部分是输入的一部分.这里的输入是NSString *类型,其局部变量名称为title.
评分:
此部分是消息名称的第二部分.正如您在此处所看到的,消息名称被拆分以帮助指示您传递给接收器的信息.因此,如果我用变量foo和bar向对象myObject发送消息,我会输入:
[myObject initWithTitle:foo rating:bar];
而不是C风格:
myObject.initWithTitle(foo,bar);.
(浮动)的评级
这是输入的最后一部分.这里的输入是float类型,并且有一个局部变量名称rating.
希望这是有帮助的!