App*_*Dev 15 directory xcode file project-structure ios
在提供代码示例的教程和示例中,有时我看到Xcode项目导航器中的项目文件按照MVC模式("视图","控制器","模型")按组排列,有时它们被组织成组按功能(例如"登录","清单").
关于iOS,Apple有什么约定/推荐吗?哪个应该是最好的做法?
Jam*_*lam 19
开发人员以多种方式组织他们的组,代码和文件.但我使用如下内容:
CoreData:包含DataModel和Entity Classes.
扩展:包含一个类(默认的apple类扩展+项目类扩展.)
助手:包含第三方类/框架(例如SWRevealController)+桥接类(例如基于Swift的项目中的Obj C类)
Model:创建一个单例类(例如,AppModel - NSArray,NSDictionary,String等)来保存数据.Web服务响应解析和存储数据也在此处完成.
服务:包含Web服务进程(例如,登录验证,HTTP请求/响应)
视图:包含故事板,LaunchScreen.XIB和视图类.创建子文件夹单元格 - 包含UITableViewCell,UICollectionViewCell等.
控制器:包含与UIElements相关的逻辑或代码(例如,UIButton的参考+点击动作)
此结构来自另一个Stack Overflow帖子.
这些也可能对您有所帮助:
http://akosma.com/2009/07/28/code-organization-in-xcode-projects/
http://www.slideshare.net/MassimoOliviero/architecting-ios-project
Emm*_*Emm 11
在组织项目中的文件时,有两种最常见的方法。按类型和功能组织代码文件。
对于小型项目来说,按类型组织代码是可以的,但对于大型项目来说,这不是一个好的做法。
这样,您将所有模型放在一个文件夹中,所有视图放在另一个文件夹中,所有控制器放在第三个文件夹中,等等。
想象一下,您有大量按类型组织的文件和文件夹,当您处理单个功能时,您必须打开所有文件夹。这可能会让您感到困惑,并且在滚动浏览文件时可能会多次迷失方向。
像这样的东西:
按功能(意图)组织代码是大型项目和大型团队的最佳实践。您将与该功能相关的所有内容都放在一个文件夹中,当您使用该功能时,无需打开所有其他文件夹(组)。
因为通常团队只专注于单一功能,并且他们只关注单个文件夹或一组文件。他们不一定需要了解其他功能和文件。
它看起来像这样:
另外,值得一提的是,这种实践和技术(按功能组织项目)是由世界各地最大的公司实施的。因此,他们根据项目的功能划分团队,每个团队都致力于特定的功能。除此之外,当您使用 时git,它可以减少合并和变基时发生冲突的机会。
我实际上创建了一个项目,以展示我认为中小型代码库所用的Xcode项目结构。你可以在这里找到它。
这是它的轮廓: