2010-10-20 136 views
26

什么是建立群组/文件夹的好方法?你如何构建iPhone XCode项目?

我已经尝试功能(用户界面的功能加模型等)与一个共同的组。我也尝试过用户界面,模型等

前者保持喜欢的东西一起适合iPhone范例很好。后者意味着我跳得更多一点。

您认为如何?

+0

我越来越多地使用VIPER现在与结构的很大一部分使用服务(API,系统等的抽象)来包含逻辑。 – 2016-11-01 21:42:48

回答

3

这将是非常依赖项目。在我最后看到的项目中,我通过视图类型来组织视图。

10

标准的Xcode MVC文件夹结构如下。

  1. CoreData:包含的DataModel和实体类。

  2. 扩展:包含一个类

  3. 助手(默认苹果类扩展+项目类的扩展。):包含第三方类/框架(如SWRevealController)+桥接类(如的OBJ C类在基于Swift的项目中)

  4. 模型:为保存数据创建一个单例类(例如.AppModel - NSArray,NSDictionary,String等)。 Web服务响应解析和存储数据也在这里完成。

  5. 服务:包含Web服务流程

  6. 查看(如登录验证,HTTP请求/响应。):包含故事板,LaunchScreen.XIB和视图类。做一个子文件夹中的细胞 - 含有的UITableViewCell,UICollectionViewCell等

  7. 控制器:包含逻辑或代码相关的UI元素(如UIButton的参考+点击动作。)

+0

在MVC中我可以有故事板吗? – Saranjith 2017-05-23 06:17:19

+0

是的,你可以。我们可以根据不同的模块在View中分组多个故事板。 – 2017-08-17 07:42:52

+0

是不是'服务'含糊? – 2018-02-28 03:56:26

2

虽然约翰有一点,我实际上已经创建了一个项目来演示我认为我的一般前往Xcode项目结构的小型或中型代码库。你可以找到它here

下面是它的一个概要:

  • 来源 - 所有的源代码
    • 帐户 - 帐户相关的类(会话相关的类,账户逻辑等)
    • 应用 - 应用 - 相关的类。应用程序的委托,配置类等
    • 核心增加 - 扩展和苹果的类
      • 工具所产生的子类 - 通用工具类。有用的扩展,格式化公用事业,便利类和这样
      • 基于元素的文件夹 - 文件夹为UIView的,的UITableViewCell等
    • 本地永久性 - 本地持久层。所有模型相关的本地持久性逻辑
  • 常量 - - 所有的常量与本地数据库(境界,核心数据)
    • 库中的所有互动。网址,字体,颜色,错误等
    • 模型 - 所有模型(服务器端实体的表示)。我们还扔在这里的任何对象映射逻辑
    • 模块 - 在这里我们可以找到每个应用程序的块按功能划分的
      • 基于模块的文件夹 - 每个文件夹包含所有模块特定的视图控制器,视图,代表和相关类
    • 网络 - 应用程序的网络层
      • 服务(如负责与Web服务交互类) - 所有模型相关的网络逻辑
  • 故事板 - 包含所有故事板文件
  • 资源 - 任何additionaly资源,如媒体,文件,本地化文件和这样