Как управлять автоматическим приведением экземпляра объекта класса к строке? - PullRequest
0 голосов
/ 12 января 2020

В качестве примера у меня есть следующий класс

class myClass {
   var someValue1: Double = 1.1
   var someValue2: Double = 2.0
} 

Что мне нужно кодировать, чтобы иметь возможность печатать определенное значение c в строку из-за процесса автоматического приведения?

Как пример: напечатать значение someValue2 со следующим кодом:

print("\(instanceOfMyClass)") // expected output: "2.0"

1 Ответ

2 голосов
/ 13 января 2020

Этого можно добиться, расширив класс с помощью протокола CustomStringConvertible .

class MyClass {
   var someValue1: Double = 1.1
   var someValue2: Double = 2.0
} 

extension myClass: CustomStringConvertible {
    var description: String {
        return "\(someValue2)"
    }
}

let a = MyClass()

print(a)

Вывод: 2.0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...