此初始化程序将导致错误,提示"with" is implied for the first parameter of an initialiser; did you mean name?

init(withName: String){

}

我不确定这是什么意思,如果它可以自动提供withName外部参数名称(如果我将其称为名称)等等的话。

如果我将其更改为
init(name: String){

}

调用init(with: "joe")init(withName: "Joe")的任何尝试都将失败。所以我不知道错误消息告诉我什么以及如何声明它,所以我将其称为init(withName: "joe")

最佳答案

在Swift中,您不应将with添加到初始化程序中。初始化程序应为init(name:),您应将其称为Object(name: "joe")

这是因为Swift方法如何桥接到ObjC。在ObjC中,该初始化程序将自动转换为initWithName:。如果您将其命名为init(withName:),它将变为initWithWithName:

关于cocoa - Swift初始化程序中参数名称中的"with",我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25644127/

10-10 23:24
查看更多