Swift函数参数名中的间距问题

3
我想在 Swift 函数的参数名称之间添加空格,就像 Swift 提供的 prepare for segue 函数一样。例如,在实现函数调用时使用的 "for segue" 参数名称。
例如,我想创建一个函数 func saveReceipt(for customer:....),然后我想调用该函数 saveReceipt(for customer:....)

3
That "for segue" parameter name that is used on the function call when you implement it" - 不是这样的,它被称为 prepare(for: ...)for 是参数标签,在调用时使用,segue 是参数名,在方法内部使用。 - Hamish
2个回答

2

很遗憾,参数的工作方式并非如此。

prepareForSegue函数为例。其函数形式如下:

override prepare(for segue: ...) {

然而,如果你要调用它,代码会像这样:
prepare(for: UIStoryboardSegue, ...)

当您调用函数时,只能有一个参数名。

编辑

看看您的示例,您可以有这样一个函数:

func saveReceipt(for customer: ...) {

然后像这样调用:

saveReceipt(for: MyCustomerClass, ...) 

哦,好的,我明白了。我一直以为“for segue”是调用时使用的参数名称。 - Vicentiu Petreaca
1
@VicentiuPetreaca 是的,"segue"标签是严格内部使用的。 :) - Benjamin Lowry

0
在你的例子中,for是参数标签,而segue是参数名称。这样做“可以使函数以表达式、类似句子的方式被调用,同时仍然提供一个可读性和意图清晰的函数体。”(参见https://docs.swift.org/swift-book/LanguageGuide/Functions.html
也就是说,你使用参数标签来调用函数,而在函数体内部使用参数名称。
在你的第二个例子中,你使用saveReceipt(for: myCustomer)来调用saveReceipt(其中myCustomer是保存你的客户的变量),并在函数体内使用customer作为参数名称。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接