Конвертируемость разных типов в 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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