此初始化程序将导致错误,提示"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/