2016-09-28 74 views
0

我想知道多少内存做一个ViewController起飞,因为当我正在开发一些应用程序,我仍然不知道这是否是更好地创造更多的ViewControllers,或者我是否应该产生更少ViewControllers和改变的东西在代码,而不是UserInterface一个ViewController需要多少内存?

举例说明我的意思:假设我有两种类型的数据,我希望看到它们出现在ViewController上,但这两种类型几乎相同。因此,我应该只有一个ViewController并更改代码中的内容,或者我可以为每种类型创建ViewController

我知道,这取决于有多少代码和多少事情是在UI,但让我们说,它是几行代码,只是一个非常基本的ViewController

我特地到视图中的作用苹果公司的控制器 ,但我找不到答案。 https://developer.apple.com/library/content/featuredarticles/ViewControllerPGforiPhoneOS/index.html#//apple_ref/doc/uid/TP40007457-CH2-SW1

我知道这有点奇怪,但我很好奇。 谢谢。

+0

这个问题很抽象,很难回答。如果您可以举一个实际的两种类型的实例,我们可以提供更好的建议。 – Rob

回答

3

的非实例视图控制器不使用任何存储器。作为应用程序的一部分,需要占用很少的磁盘空间,但在创建和显示之前不会在运行时创建内存。

您目前犯过早的优化。正确编写代码以便编写,易于维护和易于调试。除非有问题需要解决,否则不要担心内存使用情况和性能等问题。

如果你有两种不同类型的数据的两个不同的画面,然后再创建两个不同的视图控制器。

一旦工作,然后通过仪器运行它,并确认你没有泄漏或引用周期浪费内存。

1

额外的视图控制器类在你的代码大小是可以忽略不计,所以,除非你是在谈论他们的一些极端的数字,我就不会担心。这里的治理原则更可能是DRY。如果你有一堆对象在很小的方面有所不同(例如标签上的名字等),那么也许你可以创建一个通用协议,所有这些对象都符合这个协议,然后你可以编写一个视图控制器为该协议而设计,而不是任何特定的对象。但是,如果您发现自己添加了一堆笨拙的语句并以编程方式添加控件,只是为了避免在故事板中存在多个场景,那么您可能已经走得太远了。

相关问题