2010-08-22 6 views
0

Fondamentalement, mon application charge deux flux RSS - un flux de blog et un flux twitter. Ceux-ci sont dans deux vues différentes dans un contrôleur de barre d'onglets. Il existe également une vue d'accueil qui est l'affichage par défaut lorsque l'application est lancée.iphone: "précharger" une vue (contrôleur de barre d'onglets)

Ok, donc, fondamentalement, lorsque vous allez de l'onglet Accueil à l'onglet blog ou twitter, il faut un certain temps pour charger. Assez juste, c'est essayer de tout télécharger sur Internet.

Ma question est, alors que l'utilisateur est sur la page d'accueil, est-il possible de "précharger" les autres vues de sorte que la fonction viewDidAppear est déjà exécutée? Ou, peut-être une façon d'avoir un écran de "chargement", parce qu'au moment où il semble que l'application vient de se bloquer lorsque vous cliquez sur un onglet, l'onglet ne se met même pas en surbrillance tant qu'il n'a pas chargé la vue.

Merci beaucoup les gars.

Répondre

1

IMO ce n'est pas une bonne idée de précharger le vues eux-mêmes. Mais il peut être judicieux de précharger les données à partir de l'écran d'accueil (au moins lorsque vous êtes connecté au WiFi). Pour ce faire, découpler le code de chargement de la vue, par ex. en le déplaçant vers une classe de modèle séparée.

En général, vous devez implémenter toutes vos connexions réseau de manière asynchrone pour éviter de geler l'interface utilisateur au cours de ces opérations.

+0

hmm, ça pourrait être une bonne idée ... :) merci, je vais l'essayer. :) –

+0

Je ne suis pas sûr de comprendre ... j'ai essayé ce que je pensais que tu voulais dire, mais ça ne s'est pas vraiment très bien passé haha. J'ai mis tous les éléments dans mon application de délégué maintenant et l'application met un certain temps à charger, mais tout est chargé au moment où il démarre ... mais je suis inquiet pour les gens sur le bord ou sans connexion Internet. .. Qu'est-ce qu'ils vont faire? Je veux dire que l'application est à peu près inutile sans une connexion Internet, mais le chargement lent me dérange. –

+2

Recherchez NSURLConnection. Cette classe permet de charger des données depuis le web ** a ** de façon synchrone, ce qui signifie que l'interface utilisateur/thread ne bloquera pas lors du chargement :). – elslooo

Questions connexes