2016-02-04 3 views
10

Я пытаюсь изучить ReactiveCocoa и с трудом начинаю работать. Я продолжаю сталкиваться с незначительными ударами, поскольку API и учебники, кажется, устарели быстро. Возможно, у меня неправильное впечатление.Получение «использования необъявленного типа« NoError »с ReactiveCocoa

Просто пытаюсь следовать this Кажется, у меня нет NoError.

enter image description here

Он должен быть импортирован правильно, так как у меня есть доступ к Signal, rac_textSignal и т.д., но я не знаю, почему NoError не доступен.

Их documentation также упоминает NoError, но это приводит к 404.

Этот transition to RAC4 упоминает NoError. Почему NoError не объявлен? Я использую ReactiveCocoa 4.0.1.

Редактировать: Я только добавил public enum NoError : ErrorType {} в начало файла, и теперь он работает. Я не уверен, что это правильное решение проблемы. В руководствах и учебниках не упоминается, что я должен сам распространять ErrorType.

ответ

19

Реактивный какао родной NoError был удален в 4.0.1 в пользу antitypicals реализации в Result (добавляет NoError к Result см this). См. выпуск № 2704

Мы можем увидеть это в явном виде используется в исходных файлах, например,

Таким образом, вы, вероятно, нужно включить (antitypicals) Result всякий раз, когда вы собираетесь использовать NoError. Один из них предложил исправить в выпуске нити

public typealias NoError = Result.NoError 
+1

Спасибо, люди, кажется, жалуются на нарушение изменений, я бы не понял этого. 'import enum Result.NoError', а затем' typealias' ошибка работает для меня. – Filuren

+0

@Filuren Счастливые, чтобы помочь. Так как это отлично подходит для вас, вам, вероятно, это не понадобится, но на всякий случай я буду следить за этой открытой проблемой. – dfri

+0

Это правда, это было технически потрясающее изменение, которого мы не предвидели. – NachoSoto

0

Если добавить «импорт результатов» в верхней части страницы над вашим классом NoError больше не будет необъявленная тип!

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