2016-09-28 4 views
0

Ich würde gerne wissen, wie viel Speicher eine einzige ViewController nehmen, denn wenn ich einige Anwendungen entwickeln, bin ich immer noch nicht sicher, ob es besser ist, ViewControllers zu erstellen, oder wenn ich weniger erstellen sollte ViewControllers und Dinge ändern Code statt UserInterface.Wie viel Speicher belegt ein ViewController?

Beispiel von was ich meine: Lassen Sie uns sagen, dass ich zwei Arten von Daten habe und ich möchte sie auf präsentiert ViewController, aber diese beiden Arten sind fast die gleichen. Also sollte ich nur eine ViewController haben und Dinge im Code ändern oder ich kann einfach ViewController für jeden Typ erstellen?

Ich weiß, dass es hängt davon ab, wie viel Code und wie viel die Dinge sind in der Benutzeroberfläche, aber lassen Sie uns sagen, dass es ein paar Zeilen Code ist und nur ein sehr einfaches ViewController

ich in die Rolle der Blick ausgesehen haben Controller von Apple, aber ich konnte die Antwort nicht finden. https://developer.apple.com/library/content/featuredarticles/ViewControllerPGforiPhoneOS/index.html#//apple_ref/doc/uid/TP40007457-CH2-SW1

Ich weiß, dass es ein bisschen komisch ist, aber ich bin wirklich neugierig. Danke.

+0

Diese Frage ist eine große vage und schwer in der Zusammenfassung zu beantworten. Wenn Sie ein praktisches Beispiel für die beiden Arten geben können, über die Sie nachdenken, können wir Ihnen wahrscheinlich einen besseren Rat geben. – Rob

Antwort

3

Ein nicht instantiierter View-Controller verwendet keinen Speicher. Es dauert ein kleiner Teil des Speicherplatzes als Teil der App, aber kein Speicher zur Laufzeit, bis er erstellt und angezeigt wird.

Sie sind derzeit der vorzeitigen Optimierung schuldig. Schreiben Sie Ihren Code richtig, damit er einfach zu schreiben, zu warten und zu debuggen ist. Machen Sie sich keine Gedanken über Dinge wie Speichernutzung und Leistung, bis Sie ein Problem haben, das behoben werden muss.

Wenn Sie zwei verschiedene Bildschirme mit zwei verschiedenen Datentypen haben, erstellen Sie zwei verschiedene View-Controller.

Sobald es funktioniert, dann führen Sie es durch Instrumente und bestätigen Sie, dass Sie keine Lecks oder Referenzzyklen haben, die Speicher verschwenden.

1

Die Größe der zusätzlichen Ansicht Controller-Klassen in Ihrem Code ist vernachlässigbar, also wenn Sie über einige extreme Anzahl von ihnen sprechen, würde ich mich nicht darum kümmern. Das vorherrschende Prinzip ist hier eher DRY. Wenn Sie eine Reihe von Objekten haben, die sich sehr unterschiedlich unterscheiden (z. B. die Namen auf Etiketten usw.), können Sie vielleicht ein gemeinsames Protokoll erstellen, dem alle diese Objekte entsprechen, und dann können Sie einen Ansichtscontroller schreiben entworfen für dieses Protokoll, anstatt irgendein bestimmtes Objekt. Aber wenn Sie feststellen, dass Sie eine Menge sperriger if Anweisungen hinzufügen und programmgesteuert Steuerelemente hinzufügen, sind Sie möglicherweise zu weit gegangen, um mehrere Szenen in Ihrem Storyboard zu vermeiden.

Verwandte Themen