对于一个开发者来说, MVC 设计模式被广泛应用于各种语言的开发中,这在 iOS 开发中体现的尤为多,比如我们的控制器 Controller,视图 View,模型 Model,从名称中就可以体现出各自的作用及分工,Apple 也是推荐我们使用 MVC 模式进行程序设计及开发。其实绝大部分时候 MVC 模式基本是可以满足我们的业务需求的,可是随着业务的膨胀,开发人员变动等因素,MVC 模式也暴露了其弊端,当控制器层变得越来越臃肿的时候,业务过于集中到控制器层,就会为为接下来的开发带来不便及代码的可维护性变低。

所以这时候为了解决刚才的问题,MVVM 模式就“应孕而生”了,它不仅仅可以对原有 MVC 模式进行代码上的优化瘦身,更重要的一点是兼容 MVC 模式,我们可以对原有项目必要的地方进行 MVVM 模式的升级。

Continue reading

整理了开发中一些特定场景下使用 RAC 的便利之处,关于一些常用的 API 的使用网上的资源还是很多的,就不做举例了。

  • 比如登录页面当用户输入的账号、密码长度合法的情况下才可以点击登录按钮,否则按钮不可点击,这里条件比较简单,即账号密码长度都大于5,其实还可以使用一些正则匹配账号格式是否正确等。combineLatest 就是合并多个信号,且每个信号至少发送过一次 sendNext,才会触发合并信号。
1
2
3
RAC(self.loginBT, enabled) = [RACSignal combineLatest:@[self.accountTF.rac_textSignal, self.passWordTF.rac_textSignal] reduce:^(NSString *usernameValid, NSString *passwordValid) {
return @(usernameValid.length > 5 && passwordValid.length > 5);
}];
Continue reading
  • page 1 of 1
Author's picture

Bin Han

纸上得来终觉浅 绝知此事要躬行


Software Engineer


Hangzhou China