奇思妙想 · 2024年 4月 18日 0

为什么会有函数调用参数带标签的写法?

28 次浏览

ObjC函数参数形式与众不同,实参前会加前缀,尤其参数很多的情况,可读性很强。例如:
[person setAge: 29 setSex:1 setClass: 35]; 这种参数前面加前缀描述也被叫标签(Label). 注意,要把标签和函数签名区分开,函数签名是更大的名词,包含函数名称、参数的组合。当然,也可以对第二个之后的参数不加前缀,形如: [person setAge: 29 :1 : 35];

如果是C++代码,参数很多,有时会记不清参数位置。
C#较新版本同样引入了如上的类似ObjC的函数调用语法增强可读性。