2016-09-15 1 views
0

Я изучаю быстро, следуя руководству быстрого программирования lanuguage 3.0. В главе обработки ошибок, когда вы хотите объявить тип ошибки, вы реализуете протокол ErrorProtocol. Как показано ниже:при реализации ErrorProtocol, продолжайте получать ошибку 1) использование незаявленного типа ErrorProtocol 2) тип не соответствует протоколу RawRepresentable

enum VendingMachineError: ErrorProtocol{ 
    case invalidSelection 
    case insufficientFuns(coinsNeeded: Int) 
    case outOfStock 
} 

Но в Xcode детской площадке, я получаю сообщение об ошибке

1) использование необъявленной типа ErrorProtocol

2) тип VendingMachineError не соответствует протоколу RawRepresentable

Почему это происходит? Я просто копирую код из книги.

enter image description here

+1

'Перечисление VendingMachineError: Ошибка {' –

ответ

1

Это не ErrorProtocol, это ErrorType, вы заявляете, что при создании перечисления ошибок

+1

OP он не использует Swift 2, он использует Swift 3 должен быть ' Ошибка' –

+1

спасибо, что указали – Tj3n

+0

Спасибо всем за полезные замечания! его озадачило то, что в книге быстрого программирования 3.0 говорится, что мы должны использовать ErrorProtocol, хотя мы предполагаем использовать Error in swift 3. Еще раз спасибо за помощь! – Thor

Смежные вопросы