cocoa - Swift 初始化程序中参数名称中的 "with"

标签 cocoa swift initialization

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

相关文章:

objective-c - 使用 NSBezierPath 快速绘制至少 4000 个线段

swift - 我如何在 Swift Xcode 中初始化此类实例

post - 使用 POST 方法在 Swift 中进行 HTTP 请求

Python空构造函数

c++ - 结构变量成员后的花括号是什么意思?

objective-c - 从底部调整 NSWindow 高度?

iphone - 如何复制 UINavigationBar 渐变颜色?

macos - 自定义绘制的 NSView 在编辑的 subview 内重绘整个 View

swift - 如何快速更改日期格式?

asp.net - Azure WebApp 上用于 AppInitialization 的 IP 白名单