2011-01-07 3 views
4

Ich habe einen Tab-Controller mit 4 verschiedenen Ansichten. Wenn ich von der ersten Ansicht zur zweiten Ansicht navigiere, dauert es einige Zeit, um die zweite Ansicht zu laden.Alle Registerkartenansichten laden, wenn die Anwendung zum ersten Mal ausgeführt wird

Was ich tun möchte, ist in der Lage zu laden und initialisieren alle meine Tab-Leiste Ansichten während meiner Splash-Screen. Auf diese Weise gibt es keine Wartezeit, wenn der Benutzer zwischen den Registerkartenansichten navigiert.

Wie initialisiere ich meine individuellen Tab-Bar-Ansichten in meinem App-Delegaten manuell?

+0

Was ist es, dass in verschiedene Ansichten geladen werden muss? Ich glaube nicht, dass Sie während des Startbildschirms viel Prozessorzeit bekommen, und wenn Sie das tun würden, würde Ihr Laden nicht einfach den Startbildschirm verlängern? – westsider

+0

Mögliches Duplikat von [Alle TabBar-Ansichten laden] (http://stackoverflow.com/questions/9202737/load-all-tabbar-views) –

+0

dieser könnte helfen ... etwas veraltet, aber einige Updates für swift 3 - https://stackoverflow.com/questions/9202737/load-all-tabbar-views –

Antwort

2

Ich glaube, der Zugriff auf die View-Eigenschaft jedes Ihrer Controller wird dazu führen, dass es geladen wird (Lazy Loading). Obwohl ich nicht glaube, dass Sie eine absolute Garantie haben können, wird es nicht entladen, bevor Sie es verwenden, wenn Speicher knapp ist.

2

Um eine Registerkartenansicht programmgesteuert zu laden, z. in application:didFinishLaunchingWithOptions: können Sie:

// load the third one, for instance 
thirdNavController = [tabBarController.viewControllers objectAtIndex:2]; 
[thirdNavController.topViewController loadView]; 
+1

[Dokumentation] (https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIViewController_Class/#//apple_ref/occ/instm/UIViewController/loadView) besagt "Sie sollten [loadView] niemals direkt aufrufen". "Wenn Sie jedoch auf [die Ansichtseigenschaft] zugreifen und dessen Wert derzeit null ist, ruft der View-Controller automatisch die loadView-Methode auf" (siehe [diese Antwort]) (http://stackoverflow.com/a/9203007/142845). – Will

Verwandte Themen