?最近接觸學(xué)習(xí)到了RAC(ReactiveCocoa)瓦宜,RAC是函數(shù)式+響應(yīng)式編程結(jié)合
????????我們?cè)趇OS開發(fā)中篱蝇,頁面之間數(shù)據(jù)的傳遞一般都使用block贺待,代理,通知态兴,KVO狠持,而RAC不禁包含上面的功能疟位,還可以監(jiān)聽各種事件瞻润,依據(jù)響應(yīng)式函數(shù)編程,RAC方法本身更加簡潔明了甜刻,通過提供信號(hào)的方式(RACSignal)可以捕捉當(dāng)前以及未來的屬性值變化绍撞,而且無需持續(xù)觀察和更新代碼〉迷海可直接在block中將邏輯代碼加入其中傻铣,使得代碼緊湊,更加直觀祥绞。 ?
? ? ? ? ? RAC使用三部曲 1:創(chuàng)建信號(hào)(默認(rèn)是冷信號(hào)) 2:訂閱信號(hào)(冷信號(hào)變成熱信號(hào)) 3:發(fā)送信號(hào) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? 替換代理和通知
????????RAC中幾個(gè)比較重要的類?RACSignal ??RACSubject ??RACReplaySubject ?這三個(gè)類都是信號(hào)類,RACReplaySubject繼承于RACSubject非洲,RACSubject繼承于RACSignal鸭限。RACSignal只能用于創(chuàng)建信號(hào)而本身不能發(fā)送信號(hào),RACSubject和RACReplaySubject既能創(chuàng)建信號(hào)也能發(fā)送信號(hào)两踏,RACSubject與RACReplaySubject區(qū)別是RACSubject必須要先監(jiān)聽信號(hào)败京,而RACReplaySubject可以先發(fā)送信號(hào)然后再監(jiān)聽。
????????RAC中萬物皆信號(hào)梦染,我們也可以為信號(hào)設(shè)置一些條件赡麦,比如我只想接收前幾次的信號(hào),或者跳過第一次信號(hào)等等這些帕识,下面看代碼?
? ?