J'essaie de faire en sorte qu'un dictionnaire stocke une carte de délégués correspondant à un protocole. J'ai besoin d'une clé cohérente qui représente un protocole.Comment obtenir un identifiant unique pour un objet de protocole
Par exemple, le suivant me donne un objet de protocole
Protocol * one = @protocol(SomeProtocolDefinedEarlier);
Et il répond à [one hash]
mais le hachage est pas la même chaque fois que vous obtenez un objet de protocole pour le même protocole. Y at-il un message name
ou quelque chose que je peux utiliser pour l'identifier?
woah, il ressemble 'name' est en fait quelque chose de retour cohérent. Est-ce un c-string? pourquoi ne puis-je pas trouver les documents sur l'objet de protocole? –
La source d'exécution Objective-C est disponible et vous pouvez rechercher la définition de 'Protocol *'. Mieux vaut utiliser les fonctions Foundation (par exemple NSStringFromProtocol), selon la réponse de Dave DeLong. –