廢話不多說(shuō),直接講實(shí)際應(yīng)用
RAC的使用場(chǎng)景在addTarget、代理、通知、KVO、代替NSTimer、網(wǎng)絡(luò)異步回調(diào)等,即目的在于對(duì)事件的監(jiān)聽(tīng)。
首先添加RAC第三方庫(kù),建議直接使用Cocoapods,簡(jiǎn)單方便。
pod ‘ReactiveObjC’, ‘~>3.0.0’
接著添加頭文件
import <ReactiveObjC/ReactiveObjC.h>
RAC中三個(gè)步驟:創(chuàng)建信號(hào)、訂閱信號(hào)、發(fā)送信號(hào)
注:RAC在使用過(guò)程中由于系統(tǒng)提供的信號(hào)是始終存在的,所以在block中使用屬性或者成員變量都會(huì)涉及到循環(huán)引用問(wèn)題,有兩種方法可以解決:1.使用weakself 2.RAC提供的weak-strong dance,即在block外部使用@weakify(self),在block內(nèi)部使用@stringify(self)