应用程序超过80 UIViewController?

时间:2014-05-03 14:32:43

标签: ios objective-c uiviewcontroller

首先,我不了解C +,我只知道HTML和CSS。我只能做一点像WebView等等。 目前,我创建了一个超过80 ViewControllers的应用程序,我目前将所有这些应用程序链接在一起。这是一项愚蠢的工作。 40 ViewController具有相同的布局,但只有内容在变化。他们都有3个链接。 "保存,转到下一页并返回"。 "下一页"还有40次。而且他们也有相同的布局。但只有Safari的链接正在发生变化。

我是否有一种简单的方法可以只使用几个ViewController并使用代码执行剩余的操作?

太棒了。谢谢你,美好的一天。

http://i.stack.imgur.com/vCdo2.png

Image:Rectangle =相同的布局,只更改内容和链接。

2 个答案:

答案 0 :(得分:5)

哇。如果你有一个简单的应用程序的80个视图控制器,你知道你在某个地方出错!

您只需要一个用于显示此内容的视图控制器。您应该检测其中一个按钮是否已被点击,然后修改UI以适应该操作。您可以将每页的所有信息存储在NSMutableArray中,并根据用户是否分别点击“转到下一页”或“返回”来递增或递减索引。此外,如果他们单击“保存”,您可以修改数组当前索引处的NSDictionary,并将其替换为数组。

答案 1 :(得分:1)

GACK。计算机的基本规则:一旦你反复复制相同的东西,只有实例之间的内容发生变化,你就会做错事。

在这种情况下,您应该在故事板中创建单个视图控制器。给它一个独特的故事板标识符。

创建UIViewController的自定义子类,并将IB中的视图控制器设置为该类的实例。使用您需要的视图和逻辑自定义它。

当您需要调用视图控制器的新实例时,请使用UIStoryboard方法instantiateViewControllerWithIdentifier:该方法将创建视图控制器类的新空白实例。然后,您可以使用数据填充它并显示它(使用presentViewController:animated:completion:,或者如果您使用的是导航控制器,则使用pushViewController:animated: