ReactiveCocoa - 簡單實用場景



Target-Action示例代碼如下:


    UIButton *btn = [[UIButton alloc]initWithFrame:CGRectMake(20, 20, 50, 50)];
    btn.backgroundColor = [UIColor redColor];
    btn.rac_command = [[RACCommand alloc] initWithSignalBlock:^RACSignal *(id input) {
        NSLog(@"按鈕被點擊!!");
        return [RACSignal empty];
    }];

輸出:2016-05-10 14:51:36.866 testARC[9948:3012689]按鈕被點擊!!


KVO

[RACObserve(self, username) subscribeNext:^(NSString *newName) {
  NSLog(@"%@", newName);
}];

Notification示例代碼如下

[[[NSNotificationCenter defaultCenter] rac_addObserverForName:UITextFieldTextDidBeginEditingNotification object:self.emailTextField] subscribeNext:^(id x) {
    [self.emailImageView animate];
    self.emailImageView.image = [UIImage imageNamed:@"icon-mail-active"];
    self.emailTextField.background = [UIImage imageNamed:@"input-outline-active"];
}];

[[[NSNotificationCenter defaultCenter] rac_addObserverForName:UITextFieldTextDidEndEditingNotification object:self.emailTextField] subscribeNext:^(id x) {
    self.emailTextField.background = [UIImage imageNamed:@"input-outline"];
    self.emailImageView.image = [UIImage imageNamed:@"icon-mail"];
}];





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章