MVVM双向绑定

作者: IOShzz | 来源:发表于2016-10-24 13:49 被阅读1773次
@implementation MRCLoginViewController

- (void)bindViewModel {

[super bindViewModel];
@weakify(self)

[RACObserve(self.viewModel, avatarURL) subscribeNext:^(NSURL *avatarURL) {

@strongify(self)
[self.avatarButton sd_setImageWithURL:avatarURL forState:UIControlStateNormal placeholderImage:[UIImage imageNamed:@"default-avatar"]];

}];
RAC(self.viewModel, username)  = self.usernameTextField.rac_textSignal;

RAC(self.viewModel, password)  = self.passwordTextField.rac_textSignal;

RAC(self.loginButton, enabled) = self.viewModel.validLoginSignal;

[[self.loginButton

rac_signalForControlEvents:UIControlEventTouchUpInside]

subscribeNext:^(id x) {
@strongify(self)

[self.viewModel.loginCommand execute:nil];

}];

[[self.browserLoginButton

rac_signalForControlEvents:UIControlEventTouchUpInside]

subscribeNext:^(id x) {

@strongify(self)

NSString *message = [NSString stringWithFormat:@"“%@” wants to open “Safari”", MRC_APP_NAME];

UIAlertController *alertController = [UIAlertController alertControllerWithTitle:nil message:message                                                                                                    preferredStyle:UIAlertControllerStyleAlert];

[alertController addAction:[UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleCancel handler:NULL]];

[alertController addAction:[UIAlertAction actionWithTitle:@"Open" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {

@strongify(self)

[self.viewModel.browserLoginCommand execute:nil];

}]];

[self presentViewController:alertController animated:YES completion:NULL];

}];

}

@end

相关文章

  • 双向数据绑定

    双向数据绑定 双向数据绑定基于MVVM框架,vue属于MVVM框架 MVVM:M等于model,V等于view,即...

  • angular双向绑定

    MVVM的核心机制就是双向绑定。React、Vue、Angular的双向绑定,都是基于MVVM的设计模式。 双向绑...

  • Angular学习笔记-双向绑定

    Angular和Vue一样都是MVVM的框架,MVVM的核心机制就是双向绑定。 双向绑定将属性绑定与事件绑定结合在...

  • Vue2.0原理与MVVM的实现

    剖析Vue原理&实现双向绑定MVVM vue源码 双向绑定 -- MVVM 目前几种主流的MVC框架都实现了单向数...

  • Vue2 数据双向绑定原理解析-简易版(个人笔记)

    一、什么是 MVVM 数据双向绑定 MVVM 数据双向绑定主要是指:数据变化更新视图,视图变化更新数据,如下图所示...

  • MVVM双向绑定

  • vue双向数据绑定

    剖析Vue原理、实现双向绑定MVVM 几种实现双向绑定的做法 目前几种主流的mvc(vm)框架都实现了单向数据绑定...

  • 双向绑定

    实现双向绑定Proxy比defineproperty优劣如何? 关于双向绑定,其实只要涉及到MVVM框架就不得不提...

  • Vue 进阶

    Vue 双向绑定原理 mvvm 双向绑定,采用数据劫持结合发布者-订阅者模式的方式,通过 Object.defin...

  • vue高频面试题

    Vue 双向绑定原理 mvvm 双向绑定,采用数据劫持结合发布者-订阅者模式的方式,通过 Object.defin...

网友评论

    本文标题:MVVM双向绑定

    本文链接:https://www.haomeiwen.com/subject/ufrluttx.html