2016-09-28 107 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。如果你有一堆對象在很小的方面有所不同(例如標籤上的名字等),那麼也許你可以創建一個通用協議,所有這些對象都符合這個協議,然後你可以編寫一個視圖控制器爲該協議而設計,而不是任何特定的對象。但是,如果您發現自己添加了一堆笨拙的語句並以編程方式添加控件,只是爲了避免在故事板中存在多個場景,那麼您可能已經走得太遠了。

相關問題