iOS项目结构是否有最佳实践或惯例?

21
我在想是否有最佳实践或传统来构建iOS项目?
谢谢。

这个问题有点模糊,这就是为什么我认为还没有人回答。你是指项目中实际的文件以及它们所在的目录吗?还是指代码的架构?等等。 - Ben Zotto
@quixoto - 我主要关心如何管理不同目录中的不同文件。 - itsaboutcode
5个回答

9

2
这完全取决于你的项目中有多少代码,但我个人认为名为“Helpers”的文件夹并不是很好。存在一个风险,即只要被视为“实用程序”,所有东西最终都会进入其中。我认为更好的做法是使用具有自解释名称的单独文件夹来存放不同类型的实用程序,例如“加密”、“序列化”等。 - Daniel Saidi
2
Helper/Utility-Package是提取可重用功能的常见方法,最有可能将其放入可重用的Utility-Library中。当然,在Helper/Utility-Package中有自说明文件夹,但我不建议将它们放在与您的Model或Controller包相同的级别上,特别是在大型项目中...但由于这完全是一种口味问题,最重要的是与团队就一个基本结构达成一致,让大家都感到舒适。 - Chris

4
对我来说,Architecting iOS Project 的解决方案非常完美。我还添加了Cocoapods。
现在我的项目看起来像这样:

enter image description here


1

我一直在使用类似以下的代码来开展我的项目。

但是在阅读这个帖子和其他在线文章后,我决定将几种类型分类到一个名为“代码UI”的新文件夹下。

  • 应用程序(具有常量的配置文件,AppDelegate)
  • 模型
  • UI
    • 视图
    • 控制器
    • 如果我使用Nib文件(.Xib),它们应该归于此类别,否则就是故事板(s)
  • 资源(所有资源,如图像、自定义字体、音频文件,每个都在不同的子文件夹中)
  • 服务
  • 助手/实用程序

但是,如果您正在使用MVVM架构,请根据自己的需要进行自定义。

干杯!


0

虽然我同意最常见的做法是按类型(即ViewControllers,Models等)对文件进行分组,但我认为有些业务情况下,按提供的功能组织代码更有用。例如,如果您在为一家提供多种服务组合的公司工作,通常打包到不同的应用程序中共享某些元素,例如AddressBook,Messages,Document Management等...

在我的项目中,我通常有一个名为Common的文件夹,其中放置我经常重复使用的东西,如datetime helpers,IO writers等...其他东西我会按功能分开。


0

我们遵循标准的项目结构,以便团队更好地理解。

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接