为什么使用 new() class 方法在 Swift 中创建对象无法编译?

Why using new() class method to create an object in Swift doesn't compile?

我不是 Objective-C 中的 new 的忠实粉丝。但是提出了疑问。为什么这不能编译?:

let j = NSNumber.new()
var s = NSString.new()

看起来 new() 是一个常规的 class 方法。虽然在 Apple 的文档中定义了名称 ??

class func `new`() -> Self!

所以,问题依然存在。如果 new() 存在于 NSObject 中,为什么不编译?文件雷达?

new 是保留关键字,您必须使用反引号将其转义。这将起作用:

let string = NSString.`new`()

但我建议使用 "Swift" 方式,因为它更短、更清晰并且适用于非 NSObject 类型:

let string = NSString()