2017-07-06 2 views

Répondre

-1

De: NSObject +load and +initialize - What do they do?

Le moteur d'exécution envoie le message de charge à chaque objet de classe, très peu de temps après l'objet de classe est chargé dans l'espace d'adressage du processus. Pour les classes qui font partie du fichier exécutable du programme, le moteur d'exécution envoie le message de chargement très tôt dans la vie du processus.

1

tout d'abord: Il est +load, pas load() (+load() n'existe pas syntaxiquement), car il est une méthode, pas une fonction.

main() est le point d'entrée d'une application. load est envoyé à partir de l'environnement d'exécution, ce qui commence évidemment avant que l'application est "démarrée" en appelant main().

En réalité, tous les objets de classe d'un ensemble reçoivent un message load après le chargement de l'ensemble. Évidemment, c'est plus facile que d'avoir un drapeau pour chaque classe, si elle a déjà reçu le message.

Cependant, cela ne devrait pas poser de problème pour votre code, car l'implémentation +load ne doit pas s'appuyer sur quelque chose en dehors de la classe.