此初始化程序将导致
错误,抱怨初始化程序的第
一个参数隐含“with”;你是说名字吗?
init(withName: String){
}
我不确定这意味着什么,如果我自动提供withName外部参数名称,如果我称之为名称或什么…
如果我改成它
init(name: String){
}
任何调用init(使用:“joe”)或init(withName:“Joe”)的尝试都将失败.所以我不知道错误消息告诉我什么以及我如何声明它所以我称之为init(withName:“joe”).
在Swift中,您不应该
添加到初始化程序.初始化程序应该是init(name :),你应该将它称为Object(
名称:“joe”).
这是因为Swift方法如何桥接到ObjC.在ObjC中,该初始化程序将自动转换为initWithName:.如果你将它命名为init(withName :),它将成为initWithWithName:.