2013-12-04 2 views
23

Я новичок в реактивном программировании. Я просмотрел документацию реактивного какао, но не смог понять различия между RACAble(), RACObserve() и RACBind().Разница между RACAble(), RACObserve() и RACBind() в реактивном какао

Пожалуйста, помогите мне в понимании аспектов некоторыми примерами фрагментов кода.

Я думаю, что RACAble() заменен на RACObserve() с некоторыми параметрами/аргументами. Если я не прав, пожалуйста, исправьте меня в этом отношении.

RACObserve() skip: похоже на RACAble()?

ответ

34

Я думаю, что один большой источник замешательства заключается в том, что 3 месяца назад команда ReactiveCocoa выпустила v2.0, у которой было довольно много изменений. Это был отличный выпуск - и у него есть некоторые удивительные возможности, но это означает, что большая часть информации, которую вы найдете в Интернете, теперь устарела.

К вашим конкретным точкам:

  1. RACAble has been replaced with RACObserve
  2. RACBind has been replaced with RACChannelTo

RACObserve используется для создания сигнала от объекта и ключевого ресурса, другими словами, это позволяет принимать регулярные свойства и «поднять» их в мир ReactiveCocoa. Это удобная замена для KVO.

RACChannelTo обеспечивает механизм двусторонней переплета. Другими словами, вы можете синхронизировать два свойства. Хорошим примером этого является то, что вы хотите иметь свойство в своем контроллере представления или какой-либо модельный класс, привязанный к свойству в элементе управления UIKit.

Другой макрос, который вы, вероятно, встретите, - RAC, обеспечивает одностороннюю привязку. Другими словами, он установит значение данного свойства на основе последнего значения из сигнала.

+0

Благодарим вас, особенно за ссылки ... – TryinHard

+1

Спасибо, что за это написано! Я собирался задать аналогичный вопрос. – cbowns

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