Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/105.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 iPhone/iPad项目的组织和结构_Ios_Model View Controller_Architecture - Fatal编程技术网

Ios iPhone/iPad项目的组织和结构

Ios iPhone/iPad项目的组织和结构,ios,model-view-controller,architecture,Ios,Model View Controller,Architecture,我开发iPhone应用程序已经有一段时间了,但一直让我恼火的是,我还没有找到一种全面的方法来组织我的应用程序文件 我知道iPhone项目从技术上讲是MVC,但我所做的一切似乎都在ViewController中。我注意到,随着项目的进行,我的ViewController不断变得越来越臃肿,我忍不住想一定有比这更好的方法。我还做了一些RubyonRails,我喜欢这样一个事实,即在这个平台上,存在着如此清晰的关注点分离和组织应用程序的既定方式 是否有人发现了他们特别喜欢的组织应用程序的方法? 另外,

我开发iPhone应用程序已经有一段时间了,但一直让我恼火的是,我还没有找到一种全面的方法来组织我的应用程序文件

我知道iPhone项目从技术上讲是MVC,但我所做的一切似乎都在ViewController中。我注意到,随着项目的进行,我的ViewController不断变得越来越臃肿,我忍不住想一定有比这更好的方法。我还做了一些RubyonRails,我喜欢这样一个事实,即在这个平台上,存在着如此清晰的关注点分离和组织应用程序的既定方式

是否有人发现了他们特别喜欢的组织应用程序的方法?
另外,如何减少视图控制器膨胀

我同意,几乎所有的东西都出现在视图控制器类中,而且它们很快就会变得笨拙。您可以尝试以下几种方法:

  • 为代理创建单独的类,如果它们实际上不需要成为视图控制器的一部分
  • 如前所述,将委托方法实现放入一个类别中
  • 找出实际上不与视图控制器其余部分交互的任何方法,并将它们放在单独的类中
  • 在异步回调有意义时使用块,因为它们通常比显式回调方法更详细
  • 或者甚至只是仔细组织您的方法并使用
    #pragma标记
    ,这样Xcode就可以帮助您浏览文件

当然,这并不是一个详尽的列表,其他人可能会有更好的建议。

我同意,几乎所有内容都在视图控制器类中,而且它们很快就会变得笨拙。您可以尝试以下几种方法:

  • 为代理创建单独的类,如果它们实际上不需要成为视图控制器的一部分
  • 如前所述,将委托方法实现放入一个类别中
  • 找出实际上不与视图控制器其余部分交互的任何方法,并将它们放在单独的类中
  • 在异步回调有意义时使用块,因为它们通常比显式回调方法更详细
  • 或者甚至只是仔细组织您的方法并使用
    #pragma标记
    ,这样Xcode就可以帮助您浏览文件
当然,这不是一个详尽的列表,其他人可能会有更好的建议