RAC:響應(yīng)式編程之初體驗(yàn)(OC)

一.體驗(yàn)步驟:
  1. 準(zhǔn)備工作
1. 新建一個(gè)Xcode工程:RACDemo001
2. pod init
3. 在podfile文件里加上 pod ‘ReactiveObjC’ 
4. 終端輸入: pod install,完成后重新打開程序,準(zhǔn)備寫代碼
podfile文件.png
  1. 開始體驗(yàn)(編寫一個(gè)類似密碼輸入的UI:但并不是)
1. 首先導(dǎo)入頭文件: #import <ReactiveObjC.h>
2. 代碼正文:
- (void)viewDidLoad {
    [super viewDidLoad];
    [self firstRAC];
}
- (void)firstRAC {
    UITextField *textField = [[UITextField alloc]initWithFrame:CGRectMake(self.view.center.x - 100, 100, 200, 40)];
    [self.view addSubview:textField];
    textField.borderStyle = UITextBorderStyleRoundedRect;
    textField.text = @"";
    textField.placeholder = @"請(qǐng)輸入密碼";
    textField.secureTextEntry = YES;
    
    NSMutableArray <UILabel *>*arrayM = [NSMutableArray array];
    for (NSInteger i = 0; i<=3; i++) {
        UILabel *label = [[UILabel alloc]init];
        label.tag = i;
        label.backgroundColor = [UIColor clearColor];
        [self.view addSubview:label];
        label.frame = CGRectMake(self.view.center.x + i*51 - 100, 150, 47, 10);
        [arrayM addObject:label];
    }
    
    UILabel *tipLabel = [[UILabel alloc]init];
    [self.view addSubview:tipLabel];
    tipLabel.frame = CGRectMake(self.view.center.x - 100, 170, 200, 10);
    tipLabel.font = [UIFont systemFontOfSize:11];
    tipLabel.textColor = [UIColor greenColor];
    tipLabel.text = @"";
    ///核心代碼
    [[textField rac_signalForControlEvents:UIControlEventEditingChanged] subscribeNext:^(id x){
        NSLog(@"textField.text========%@", textField.text);
        
        NSInteger j = textField.text.length;
        NSInteger k = 0;
        if (j <= 0) {
            tipLabel.text = @"";
            k=0;
        }
        else if (j>0 && j<=6) {
            k = 1;
        }
        else if (j>6 && j<=9) {
            k=2;
        }
        else if (j>9 && j<=12) {
            k=3;
        }
        else if (j>12 && j<=15) {
            k=4;
        }
        else {
            return ;
        }
        
        for (NSInteger i = 0; i < 4; i++) {
            if (i <= k - 1) {
                arrayM[i].backgroundColor = [UIColor magentaColor];
                if (k == 1) {
                    tipLabel.text = @"密碼太弱";
                    tipLabel.textColor = [UIColor grayColor];
                }
                else if (k==2) {
                    tipLabel.text = @"密碼一般";
                    tipLabel.textColor = [UIColor orangeColor];
                }
                else if (k==3) {
                    tipLabel.text = @"密碼較強(qiáng)";
                    tipLabel.textColor = [UIColor redColor];
                }
                else if (k==4) {
                    tipLabel.text = @"密碼非常強(qiáng)";
                    tipLabel.textColor = [UIColor purpleColor];
                }
            }
            else {
                arrayM[i].backgroundColor = [UIColor clearColor];
            }
        }
    }];
}


效果圖:

輸入密碼前.png
輸入1到6位密碼.png
輸入7到9位密碼.png
輸入10到12位密碼.png
輸入13到15位密碼.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末擦秽,一起剝皮案震驚了整個(gè)濱河市腾降,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖堂鲤,帶你破解...
    沈念sama閱讀 210,978評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件弃秆,死亡現(xiàn)場(chǎng)離奇詭異梁剔,居然都是意外死亡怯晕,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門箱吕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)芥驳,“玉大人,你說我怎么就攤上這事茬高≌籽” “怎么了?”我有些...
    開封第一講書人閱讀 156,623評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵怎栽,是天一觀的道長(zhǎng)丽猬。 經(jīng)常有香客問我,道長(zhǎng)熏瞄,這世上最難降的妖魔是什么脚祟? 我笑而不...
    開封第一講書人閱讀 56,324評(píng)論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮巴刻,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘蛉签。我一直安慰自己胡陪,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,390評(píng)論 5 384
  • 文/花漫 我一把揭開白布碍舍。 她就那樣靜靜地躺著柠座,像睡著了一般。 火紅的嫁衣襯著肌膚如雪片橡。 梳的紋絲不亂的頭發(fā)上妈经,一...
    開封第一講書人閱讀 49,741評(píng)論 1 289
  • 那天,我揣著相機(jī)與錄音捧书,去河邊找鬼吹泡。 笑死,一個(gè)胖子當(dāng)著我的面吹牛经瓷,可吹牛的內(nèi)容都是我干的爆哑。 我是一名探鬼主播,決...
    沈念sama閱讀 38,892評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼舆吮,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼揭朝!你這毒婦竟也來(lái)了队贱?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,655評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤潭袱,失蹤者是張志新(化名)和其女友劉穎柱嫌,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體屯换,經(jīng)...
    沈念sama閱讀 44,104評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡编丘,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了趟径。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片瘪吏。...
    茶點(diǎn)故事閱讀 38,569評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖蜗巧,靈堂內(nèi)的尸體忽然破棺而出掌眠,到底是詐尸還是另有隱情,我是刑警寧澤幕屹,帶...
    沈念sama閱讀 34,254評(píng)論 4 328
  • 正文 年R本政府宣布蓝丙,位于F島的核電站,受9級(jí)特大地震影響望拖,放射性物質(zhì)發(fā)生泄漏渺尘。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,834評(píng)論 3 312
  • 文/蒙蒙 一说敏、第九天 我趴在偏房一處隱蔽的房頂上張望鸥跟。 院中可真熱鬧,春花似錦盔沫、人聲如沸医咨。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,725評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)拟淮。三九已至,卻和暖如春谴忧,著一層夾襖步出監(jiān)牢的瞬間很泊,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,950評(píng)論 1 264
  • 我被黑心中介騙來(lái)泰國(guó)打工沾谓, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留委造,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,260評(píng)論 2 360
  • 正文 我出身青樓均驶,卻偏偏與公主長(zhǎng)得像争涌,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子辣恋,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,446評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容