在 Xcode 9 中,编译器已经开始混合具有相同名称的方法。在 8.3.3 中,此代码仍然有效。
在 Cocoapod 类(A 类)中有一个名为“type”的方法和一个名为“type”的属性。我想访问标准的“type(of:)”方法,而不是 A 类的方法或属性,也称为“type”。这是我要使用的方法的文档:
https://developer.apple.com/documentation/swift/2885064-type
编译器给我一个红色错误“静态成员 'type' 不能用于类型 'Class A' 的实例。” 我尝试了 Metatype.type(of: ) 但编译器声称 Metatype 是“未解析的标识符”。
我如何告诉编译器我想使用 type(of: ) 而不是它指向的其他东西?有问题的代码如下:
extension Class A {
public override var description: String {
let title = titleDictionary[Language.english.rawValue] ?? ""
return "\(type(of: self)) { \(Keys.identifier): `\(identifier)`, \(Keys.title) `\(title)` }"
}