Подтвердить что ты не робот

Разница между RACAble(), RACObserve() и RACBind() в Reactive Cocoa

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

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

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

Является RACObserve() skip: похожим на RACAble()?

4b9b3361

Ответ 1

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

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

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

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

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