Bin ich missbraucht Unterklassen von UIViewController?

Versuchen, herauszufinden, warum viewWillAppear nicht genannt in meiner app stieß ich auf das, was kann ein grobes Missverständnis ich halte über die beabsichtigte Nutzung von UIViewController-Unterklassen.

Gemäß dem folgenden Beitrag viewWillAppear wird nicht ausgeführt, wenn mit addSubView! und den link zu diesem blog-post: http://blog.carbonfive.com/2011/03/09/abusing-uiviewcontrollers/ Unterklassen von UIViewController sollte halt nur in ganz bestimmten Situationen. Vor allem, wenn direkt an die UIWindow, oder anderen Apple-eigene Controller wie UINavigationControllers.

Bin ich freilich schuldig, der addition der Ansichten von UIViewController-Unterklassen, um die Ansichten der anderen UIViewController-Unterklassen.

In der Tat, ich dachte, das war mehr oder weniger die ganze Idee von Apple ' s implementation von MVC im Allgemeinen... Eine Allgemeine VC, mit anderen VCs unter, alle glücklich, die immer Ihre delegate-Methoden aufgerufen.

Wenn es gibt eine Menge von Ansichten (die per definition benötigen, controlling) kommen und gehen in einer app, und viele screenfulls, in der das Modell beschrieben, in diesem post, jeder screenfull sollte eine master-VC-Unterklasse, mit allen Untersichten gesteuert, anstatt durch custom-Controller (das geschehen zu kontrollieren, sichten), die Unterklassen von einfache NSObject.

In diesem Fall, UIViewControllers sollte nur direkt an das Fenster oder UINavigationController, UITabBarController etc?

Sind Sie garantiert, um die UIVC Delegate-Methoden aufgerufen, in diesem Fall? Wie unterscheidet sich dies von der Berufung der Delegierte Methoden manuell, wenn ein viewcontroller ist der Ansicht, eine unteransicht eines anderen VC?

Ehrlich, dies scheint wie eine große Verschwendung von Zeit. Benutzerdefinierte Implementierungen der ViewDidLoad -, viewDidLoad, viewDidUnload, viewWillAppear, viewWillDisappear nicht zu erwähnen, sind so einfache Dinge wie Eigenschaften wie, sagen wir, "Ansicht"...

Also entweder bin ich vollkommen falsch, oder bin ich auf einem wild-goose chase. Wenn UIViewController-Unterklassen können nicht auf gezählt werden, um zu nennen, viewWillAppear, warum nicht einfach rufen Sie die Methode manuell, und mit ihm getan werden?

Warum replizieren alle die wahrgenommene Funktionalität von UIViewController?

  • yup diese Tage (2014), die du trivial dies mit Behälter stackoverflow.com/a/23403979/294884 - cheers
  • Soweit ich mich erinnere, das ist die Art, wie es getan für Kakao (nicht Cocoa Touch). Separate NSViewController Unterklassen für die verschiedenen Teile des UI. Aber sehr schöne Frage für Cocoa Touch, der mir geholfen hat, klar zu erkennen, dieser Unterschied!
InformationsquelleAutor averydev | 2011-04-17
Schreibe einen Kommentar