加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

在XCode中组织iPhone MVC代码的标准方法是什么?

发布时间:2020-12-15 01:39:35 所属栏目:百科 来源:网络整理
导读:我有一个iPhone应用程序包含多个视图及其关联的控制器.看看示例代码,我看到了不同的不同的方式来组织这些文件 – 将所有的视图分组,然后将所有的控制器分组,或按功能对视图和控制器进行分组. 选项1 – 视图和控制器分组分组 -Views | - EditItemView.h - Edi
我有一个iPhone应用程序包含多个视图及其关联的控制器.看看示例代码,我看到了不同的不同的方式来组织这些文件 – 将所有的视图分组,然后将所有的控制器分组,或按功能对视图和控制器进行分组.

选项1 – 视图和控制器分组分组

-Views
  |
  - EditItemView.h
  - EditItemView.m
  - AddItemView.h
  - AddItemView.m

-Controllers
  |
  - EditItemViewController.h
  - EditItemViewController.m
  - AddItemViewController.h
  - AddItemViewController.m

选项2 – 按功能分组的项目

-AddItem
  |
  - AddItemViewController.h
  - AddItemViewController.m
  - AddItemView.h
  - AddItemView.m

-EditItem
  |
  - EditItemViewController.h
  - EditItemViewController.m
  - EditItemView.h
  - EditItemView.m

从MVC的角度来看,选项1似乎更有意义 – 代码分组在一起,但是我想知道随着应用程序增长到10个视图和控制器,这是最合乎逻辑和可维护的?是否有最佳实践建议?目前,我将是唯一维护应用程序的人,但无论是否有多个开发人员,我想尽可能多地使用最佳做法.是否有出版标准?

解决方法

我正在开发一个大型的xCode项目.它不是为了iPhone,但我不认为这是为了文件结构布局的重要事项:)

当选项#1开始时,当文件数量增加时,后来移动到选项#2.我倾向于通过“接口”,即与应用程序内的特定功能区域相关联的所有源进行分组,然后如果需要,则为更大的部分创建子组.

就命名而言,我更喜欢使用尽可能少的类名称来识别Model,View和Controller,所以我的类名看起来类似于:

AM_DillPickle  // model class
AV_Sasquatch   // view class
AC_DirtBike    // controller class

这仍然允许快速的视觉检查来查看类(M,V或C)的类型,但它为名称的描述性部分留下更多空间.

我还发现指定一些不适合MVC模式的类(gasp!)有用:

AU_Helper     // utility class (text formatting,high-level math,etc.)
AD_Widget     // device class  (used to represent hardware drivers)

无论如何,这已经比您要求的更多的信息,但是我发现命名问题与布局问题相关,因为真正的问题是:为大型xCode项目组织我的代码最好的方法是什么?

希望它有帮助.以下是放在一起的全貌:

[+] Project
    [-] Target One
    [+] Target Two
        [-] Preferences
        [-] Login
        [+] Main Window
            # MainWindow.XIB
            # AC_MainWindow.h
            # AC_MainWindow.m
            # AC_DisplayScreen.h
            # AC_DisplayScreen.m
            [-] Home Screen
                # HomeScreen.XIB
                # AC_HomeScreen.h
                # AC_HomeScreen.m
                # AV_FancyDisplay.h
                # AV_FancyDisplay.m
            [+] Widget Screen
            [+] Other Screen

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读