Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/281.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
Iphone 是否为每个视图屏幕创建viewcontroller?_Iphone_Objective C - Fatal编程技术网

Iphone 是否为每个视图屏幕创建viewcontroller?

Iphone 是否为每个视图屏幕创建viewcontroller?,iphone,objective-c,Iphone,Objective C,是否为每个视图屏幕创建Viewcontroller?还是应该共享一个视图控制器?(即在下面的示例中,应该有3个控制器还是只有1个控制器?) 示例 屏幕是相关的 Screen1 (input information), Screen2 (Review and confirm Information), Screen3 (thank you / status response). 您应该根据MVC范式进行编码。将您的代码打包,并根据overarching函数将其分离。下面是MVC的高级概述

是否为每个视图屏幕创建Viewcontroller?还是应该共享一个视图控制器?(即在下面的示例中,应该有3个控制器还是只有1个控制器?)

示例 屏幕是相关的

Screen1 (input information), 
Screen2 (Review and confirm Information), 
Screen3 (thank you / status response). 

您应该根据MVC范式进行编码。将您的代码打包,并根据overarching函数将其分离。下面是MVC的高级概述

(数据)模型:包含所有应用程序数据、传递的对象以及用于填充视图的对象

视图:一切都是某种视觉输出

控制器:使模型和视图协同工作的类

用iPhone开发术语来说,这意味着不要将一堆代码塞进UIViewController子类。如果您想改变系统的一部分工作方式,那么编辑和修复一个包含大量代码的大型类要比编辑和修复几个具有专门用途的小型类困难得多

为了回答您的问题,您应该明确地为每个视图函数使用一个控制器,但除此之外,您应该创建专门的类来获取输入并操作该数据,创建专门的类,然后使用该数据在输出中将其发送回用户


不要将所有代码放在一个类中。它可能会工作,但是如果你需要调整它,或者就像iPad问世时一样,它必须适应在另一个平台上使用,如果你只需要改变一些小的东西就可以工作,那么管理起来会更容易。

在你的情况下,你肯定不需要单独的控制器。事实上,您甚至不需要单独的视图。您可以创建一个视图来获取信息,在同一控制器中处理信息,并在
UIAlertView

中显示结果。不要将所有的处理方法都放在viewController中,这一点很重要。lukya的回答提供了一个很好的可能性。如果不使用单独的详细视图,则可以使用一个viewController获取输入,然后显示输出。要考虑的重要事项是不要将所有数据处理存储在VIEW控制器中。使用仅处理传入用户数据的独特类。不要在viewController中执行此操作。可以使用数据模型中的数据更新viewController。如果您不得不处理数据模型,那么如果您不必搜索一百万行意大利面代码,那么就更容易了