1 RAC(TARGET, [KEYPATH, [NIL_VALUE]]):用於給某個對象的某個屬性綁定。
基本用法
//1.`RAC(TARGET, [KEYPATH, [NIL_VALUE]])`:用於給某個對象的某個屬性綁定。 RAC(self.label,text) = self.textField.rac_textSignal; //相當於: // [self.textField.rac_textSignal subscribeNext:^(id x) { // self.label.text = x; // }];
2RACObserve(self, name):監聽某個對象的某個屬性,返回的是信號。
基本用法
//`RACObserve(self, name) `:監聽某個對象的某個屬性,返回的是信號。 [RACObserve(self.view,frame) subscribeNext:^(id x) { NSLog(@"x:%@",x); }];
3 @weakify(Obj)和@strongify(Obj),一般兩個都是配套使用,解決循環引用問題.
@weakify(self); RACSignal *signal = [RACSignal createSignal:^RACDisposable *(idsubscriber) { @strongify(self) NSLog(@"%@",self); return nil; }]; _signal = signal;
其中 _signal 定義使用strong定義!
4. RACTuplePack:把數據包裝成RACTuple(元組類)
RACTuple *tuple = RACTuplePack(@1,@2);
5 RACTupleUnpack:把RACTuple(元組類)解包成對應的數據。
//把一個對象包裝成元組對象 RACTuple *tuple = RACTuplePack(@"Xuewei",@"18"); //解包元組,把元組的值,按順序給參數裡面的變量賦值 RACTupleUnpack(NSString *name,NSString *age) = tuple; NSLog(@"name:%@ - age:%@",name,age);
解析元組