2009-06-22 7 views
1

[Je viens de poster une question similaire, mais je ne suis pas sûr que ce soit effectivement posté. Editeur: veuillez supprimer s'il s'agit d'un double post.]Iphone a retardé l'exécution du code

L'application que j'écris a du code dans "applicationDidFinishLaunching" de l'appdelegate et "viewDidLoad" d'un ViewController. Tout ce code est exécuté avant que l'utilisateur puisse commencer à faire quelque chose avec l'application. Dans le même temps, le "default.png" est affiché comme un écran de démarrage. Cela peut prendre jusqu'à 10 secondes, ce qui est inacceptable à mon avis. Je veux donc qu'une partie du code soit exécutée, lorsque l'interface utilisateur réelle est déjà visible et accessible à l'utilisateur. Je ne veux cependant pas que l'utilisateur lui-même ait besoin de pousser un bouton rafraîchir/continuer. Quelqu'un pourrait-il me suggérer un moyen de minimiser le temps de démarrage, et faire ce genre d'exécution post-ponée? Merci est avance, Sjakelien

Répondre

4

Vous pouvez utiliser performSelector de NSObject: withObject: afterDelay: de votre applicationDidFinishLaunching de reporter une partie de votre initialisation.

+0

Je pense que c'est exactement ce que je cherche. Merci beaucoup! (Je viens de découvrir que le délai - assez probable - est en secondes, pas en millisecondes) – Sjakelien

1

Peut-être pouvez-vous utiliser le délégué viewDidFinishLoad, mais je ne suis pas sûr qu'il soit encore chargé dans "l'image par défaut" ou après.