2011-06-16 4 views
-2

Je souhaite exécuter un extrait de code lors du démarrage du programme, quelle est donc la fonction de démarrage du programme iOS?Fonction de démarrage d'un programme

Pour le programme Android, le démarrage est fonction onCreate comme ci-dessous

public class HelloWorld extends Activity { 
    public void onCreate(Bundle savedInstanceState) { 
     ... 

Comment au sujet du programme iOS?

Merci

+0

duplication possible de [Exécuter le code au démarrage du programme] (http://stackoverflow.com/questions/6355151/run-the-code-on-program-start-up) –

+0

La réponse du post précédent n'est pas aussi détaillé que je le souhaite –

+1

@Charles Ensuite, vous devez modifier votre réponse d'origine et fournir plus de détails sur ce que vous voulez comme réponse au lieu de poster une question en double. Voir la section «Et si je ne reçois pas une bonne réponse?» Dans la FAQ de Stack Overflow: http://stackoverflow.com/faq –

Répondre

6

Dans iOS vous utilisez le UIApplicationDelegate protocol afin d'être informé des événements de cycle de vie des applications (démarrage, suspension, arrêt, etc.):

@interface MyAppDelegate : NSObject <UIApplicationDelegate> { 
} 
@end 

@implementation MyAppDelegate 
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 
    //start-up code here 

    return YES; 
} 
@end 

En supposant que vous utilisez XCode pour votre projet iOS, il sera avez créé une classe par défaut UIApplicationDelegate pour vous. Tout ce que vous avez à faire est de le trouver et d'éditer la méthode application:didFinishLaunchingWithOptions: à votre goût.

+0

J'étais tellement occupé à m'assurer que je ne manquais aucune des autres options, j'ai complètement oublié le plus évident. +1 – ughoavgfhw

+0

@ughoavgfhw je fais ça tout le temps ... :) –

5

La fonction main est appelée pour lancer le programme. Il se trouve dans main.m dans les modèles dans Xcode. Vous pouvez également utiliser __attribute__((constructor)) pour marquer une fonction à exécuter avant le démarrage du programme ou créer une méthode +load ou +initialize sur une classe. +load méthodes sont appelées lorsqu'une classe est chargée en mémoire, avant que le programme ne commence, mais tout ne sera pas chargé à ce moment-là. +initialize est appelée automatiquement avant toute autre méthode de la classe dans laquelle elle est définie, après le démarrage du programme.

+0

Bien que techniquement et absolument correct, ce ne sont probablement pas les meilleures options pour un novice. –

Questions connexes