此初始化程序将导致错误,提示 “with”隐含在初始化程序的第一个参数中;你是说名字吗?
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/