此初始化工具会导致错误抱怨"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")
。
答案 0 :(得分:13)
在Swift中,您不应将with
添加到初始值设定项中。初始值设定项应为init(name:)
,您应将其称为Object(name: "joe")
。
这是因为Swift方法如何桥接到ObjC。在ObjC中,初始化程序将自动转换为initWithName:
。如果您将其命名为init(withName:)
,它将变为initWithWithName:
。