Конвертируемость разных типов в CustomDebugStringConvertible в SwiftIOS

Программируем под IOS
Гость
Конвертируемость разных типов в CustomDebugStringConvertible в Swift

Сообщение Гость »


I don't understand when will an upcast to CustomDebugStringConvertible succeed. In the following example, errorClass and myEnum don't compile. But what is causing the failure? Why the other two (errorStruct and errorEnum) work?
struct ErrorStruct: Error {} class ErrorClass: Error {} enum MyEnum { case hello case world } enum ErrorEnum: Error { case myError } let errorStruct = ErrorStruct() print((errorStruct as CustomDebugStringConvertible).debugDescription) let errorClass = ErrorClass() print((errorClass as CustomDebugStringConvertible).debugDescription) let myEnum = MyEnum.world print((myEnum as CustomDebugStringConvertible).debugDescription) let errorEnum = ErrorEnum.myError print((errorEnum as CustomDebugStringConvertible).debugDescription)

Источник: https://stackoverflow.com/questions/781 ... e-in-swift

Вернуться в «IOS»