我不知道这种语法是有效的。
+ (void) methodName:(TypeObject *)typeObject1:(TypeObject *)typeObject2;
然后这样称呼:
[object methodName:obj1:obj2];
我觉得它丑陋而令人不安,但它是建立起来的。
有人可以指出我一个解释为什么这是有效的参考资料。
FWIW 由此产生的代码库(继承的)充斥着草率、懒惰的东西、数十个拼写错误,看起来它是由不需要再次阅读它的人格式化的。(再次感谢您解脱。
这是一个精心设计且有据可查的功能(pdf,第 14 页)
原则上,矩形类可以实现
setOrigin::
第二个参数没有标签的方法,将调用该参数 如下:
[myRectangle setOrigin:30.0 :50.0]; // This is a bad example of multiple parameters
但是苹果不鼓励任何人使用没有关键字的参数传递:
在所有参数之前使用关键字。
- (void)sendAction:(SEL)aSelector to:(id)anObject forAllCells:(BOOL)flag;
->对。
- (void)sendAction:(SEL)aSelector :(id)anObject :(BOOL)flag;
->错了。
为什么objective-C的创建者允许它,我不知道。也许这与Smalltalk的遗产有关。