Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ios项目结构是否有任何最佳实践或约定_Ios_Xcode_Naming Conventions_Directory Structure_Conventions - Fatal编程技术网

ios项目结构是否有任何最佳实践或约定

ios项目结构是否有任何最佳实践或约定,ios,xcode,naming-conventions,directory-structure,conventions,Ios,Xcode,Naming Conventions,Directory Structure,Conventions,我想知道是否有任何最佳实践或约定来构建您的iOS项目 谢谢。摘自Jean-Luc David的幻灯片: 对我来说,这个解决方案非常有效。我还添加了椰子荚 现在我的项目看起来像: 虽然我同意最常见的做法是按类型(即ViewController、模型等)对文件进行分组,但我要补充的是,在某些业务案例中,根据提供的功能组织代码更有用。例如,如果你在一家提供多种服务组合的公司工作,这些服务通常打包到共享某些元素的不同应用程序中,例如地址簿、消息、文档管理等 在我的项目中,我通常有一个名为Common的文

我想知道是否有任何最佳实践或约定来构建您的iOS项目

谢谢。

摘自Jean-Luc David的幻灯片:

对我来说,这个解决方案非常有效。我还添加了椰子荚

现在我的项目看起来像:


虽然我同意最常见的做法是按类型(即ViewController、模型等)对文件进行分组,但我要补充的是,在某些业务案例中,根据提供的功能组织代码更有用。例如,如果你在一家提供多种服务组合的公司工作,这些服务通常打包到共享某些元素的不同应用程序中,例如地址簿、消息、文档管理等

在我的项目中,我通常有一个名为Common的文件夹,我把我经常重复使用的东西放在那里,比如datetime助手、IO编写器等等。。。
我根据功能划分的其他内容

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


我在我的项目中使用了与以下类似的方法

但是在浏览了这篇文章和其他一些在线文章之后,我决定在一个新的文件夹代码UI下对一些类型进行分类

  • 应用程序(带有常量的配置文件,AppDelegate)
  • 模型
  • UI
    • 视图
    • 控制器
    • 如果我使用Nib文件(.Xib),它们应该位于该文件下,否则情节提要
  • 资源(所有资源,如图像、自定义字体、音频文件,每个文件位于不同的子文件夹中)
  • 服务
  • 助手/实用程序
  • 图书馆
但是,如果您使用的是MVVM体系结构,请根据您的最佳情况对其进行自定义


干杯

这有点含糊不清,所以我认为还没有人回答。你是说项目中的实际文件以及它们所在的目录吗?你是指代码的架构吗?等。@quixoto-我主要关心的是如何管理不同目录中的不同文件。这完全取决于您的项目中有多少代码,但我个人认为名为“Helpers”的文件夹并不好。只要它被认为是一种“公用事业”,就有一种风险,那就是一切最终都会在那里结束。我认为,对于不同种类的实用程序,具有自我解释名称的单独文件夹更好,如“加密”、“序列化”等。帮助程序/实用程序包是提取可重用功能的常用方法,并且很可能有一天会放入可重用的实用程序库中。当然,在助手/实用程序包中有一些不言自明的文件夹,但我不建议将它们放在与模型或控制器包相同的级别上,尤其是在大型项目中……但由于这都是一个品味问题,因此最重要的是与您的团队就一个大家都感到满意的基本结构达成一致。