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 *(id subscriber) {
@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);
解析元組
