Swift 4: Как получить доступ к "type(of:)", компилятор обращается к другому методу

В Xcode 9 компилятор начал смешивать методы с одинаковыми именами. В 8.3.3 этот код все еще работает.

В классе Cocoapod (класс A) есть метод с именем "type" и свойство с именем "type". Я хочу получить доступ к стандартному методу type(of:), а не к методу или свойству класса A, также называемому type. Вот документация для метода, который я хочу использовать:

https://developer.apple.com/documentation/swift/2885064-type

Компилятор выдает мне красную ошибку "статический член" тип "не может использоваться в экземпляре типа" Класс А "". Я пробовал Metatype.type(of:), но компилятор утверждает, что Metatype является "неразрешенным идентификатором".

Как я могу сказать компилятору, что я хочу использовать тип (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)` }"
  }

0 ответов

Другие вопросы по тегам