iOS 中小型App 通用项目架构方案
· 阅读需 27 分钟
本文探讨一种 iOS App 通用项目的架构设计方案,旨在针对中小型的 App 的需求。
本文探讨一种 iOS App 通用项目的架构设计方案,旨在针对中小型的 App 的需求。
近几年在关于 iOS App 架构的讨论很热烈,然后从 Web 开发上受到很多的启发。本文汇总一些 Flux/Redux、MVVM、VIPER等文章。
如果是简单的弹框输入文字,即可在 UIAlertController 里添加 UITextField,在修改 UITextField 的高度时需要用到约束才有效。
对时间做一些国际化操作时,有时需要区分是 12 小时显示还是 24 小时显示,用户可以在设置里面自由选择,App 还需要实时监听改了小时制的变化。
闪光灯的操作,在扫描二维码的时候需要用到
阅读原文,作者是John Sundell
依赖注入的好处暂且不表,大家都知道。最普遍的做法是在初始化的时候传入它所需要的所有依赖,但是碰到下面这种情况,你就会感觉很蛋疼了:
class UserManager {
init(dataLoader: DataLoader, database: Database, cache: Cache,
keychain: Keychain, tokenManager: TokenManager) {
...
}
}
旋转之后需要重新设置 contentOffset,但是设置 scrollView 的 contentOffset 会触发 scrollViewDidScroll 调用。这里使用修改 scrollView 的 bounds 来达到目的,但是可以不触发 scrollViewDidScroll 回调。
CGRect bounds = self.scrollView.bounds;
bounds.origin.x = self.segmentedControl.selectedSegmentIndex * self.view.frame.size.width;
self.scrollView.bounds = bounds;