NSObject +charge +et initialiser - Que font-ils?

Je suis intéressé à comprendre les circonstances qui ont conduit à un développeur de remplacer +initialiser ou +de la charge. La Documentation précise de ces méthodes sont appelées par l'Objective-C de l'exécution, mais c'est vraiment tout ce qui est clair à partir de la documentation de ces méthodes. 🙂

Ma curiosité vient de regarder Apple exemple de code MVCNetworking. Leur modèle de classe a un +(void) applicationStartup méthode. Il fait un peu de ménage sur le système de fichiers, lit NSDefaults, etc etc... et, après avoir essayé de grok NSObject de méthodes de la classe, il semble que ce nettoyage peut être bien de mettre en +de la charge.

J'ai fait modifier le MVCNetworking projet, la suppression de l'appel en Application Délégué à +applicationStartup, et de mettre de l'entretien ménager des bits dans +de charge... mon ordinateur n'a pas pris feu, mais cela ne veut pas dire que c'est correct! Je suis l'espoir de comprendre les subtilités, les pièges, et dressoirs autour d'une configuration personnalisée, la méthode que vous avez à les appeler, contre +charge ou +initialiser.


Pour les +de la charge de la documentation dit:

La charge message est envoyé à des classes et des catégories qui sont à la fois
chargé dynamiquement et statiquement, mais seulement si le nouveau chargé
de la classe ou de la catégorie met en œuvre une méthode qui peut répondre.

Cette phrase est kludgey et difficile d'analyser si vous ne connaissez pas la signification de tous les mots. À l'aide!

  • Qu'entend-on par "les deux chargés dynamiquement et statiquement?" Quelque chose peut être chargé dynamiquement ET statiquement, ou sont-elles incompatibles?

  • "...le nouveau chargé de classe ou de catégorie met en œuvre une méthode qui peut répondre" Quelle méthode? Réagir comment?


Comme pour +d'initialiser, de la documentation dit:

initialiser elle est invoquée qu'une seule fois par catégorie. Si vous souhaitez effectuer
indépendant de l'initialisation de la classe et pour les catégories de la
de la classe, vous devez mettre en œuvre la charge des méthodes.

Je prends ce à dire, "si vous essayez de configuration de la classe... n'utilisez pas l'initialiser." Bien, très bien. Quand ou pourquoi aurais-je remplacer initialiser alors?

InformationsquelleAutor edelaney05 | 2012-11-10