你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> iOS-ReactiveCocoa常見宏

iOS-ReactiveCocoa常見宏

編輯:IOS開發綜合

ReactiveCocoa常見宏。

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);

解析元組
這裡寫圖片描述

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved