iOS 项目的架构

Architecture of iOS project

在iOS中,我们通常遵循 MVC 项目结构,但这使我们的视图控制器非常庞大。

我看过很多 Github 个项目,但没有这样的例子让我的视图控制器变小、模块化代码、可重用代码等等。

一般我做的是这样的... Image of architecture

但我仍然无法找到为 iOS 项目创建架构的最佳方法。如果有人能向我提供任何 link 或向我们提供任何 github link 他们的代码,那将非常有帮助。

你可以看看MVVM模式。一些例子是 here

我写了一篇 quick introduction to MVVM. It explains briefly what MVVM is and why you should use it over MVC. Here's 更详细地了解 MVVM。

如果需要更多颗粒度,可以使用VIPER

我认为 MVVM 非常适合 small/medium 项目,VIPER 应该在有很多贡献者的大型项目中考虑。

您需要一些语言机制才能在 MVVM 中进行绑定。 KVO 可以完成这项工作,但 API 不是很好。您可以尝试 ReactiveCocoa 在 MVVM/VIPER.

中进行数据绑定