J'ai une application pour Mac OS X qui supporte les plugins qui doivent être chargés en même temps. Certains de ces plugins sont construits sur un framework Cocoa qui peut recevoir des mises à jour dans un plugin mais pas dans un autre. Étant donné la méthode actuelle d'Objective-C pour la répartition des fonctions, tout appel d'un plugin à une routine Objective-C donnée ira à la même routine à chaque fois. Cela signifie que le plugin A peut se trouver dans le plugin B avec un appel trivial Objective-C! Évidemment, ce que nous recherchons, c'est que chaque plugin interagisse avec sa propre version du framework sur lequel il a été construit. Ihavebeenreading certains sur Objective-C et ce besoin particulier, mais n'ont pas encore trouvé une solution définitive pour cela.Collisions de répartition de la fonction Objective-C; Ou, comment réaliser des "espaces de noms"?
Mise à jour: Mon utilisation du mot «framework» ci-dessus est trompeuse: le framework est une bibliothèque statiquement liée, intégrée dans le (s) plugin (s) qui en ont besoin. Cependant, la manière dont Objective-C gère le dispatching, même ces parties de code disparates liées de manière statique vont se mêler dans le répartiteur Objective-C, entraînant des conséquences inattendues.
Mise à jour 2: Je suis encore un peu flou sur le answer provided here, car il ne semble pas proposer une solution autant qu'une hypothèse non prouvée.
Voir http: // stackoverflow.com/questions/178434/quoi-est-le-meilleur-moyen-de-résoudre-un-objectif-c-namespace-collision –