Как получить уникальный идентификатор для объекта протокола - PullRequest
4 голосов
/ 08 февраля 2010

Я пытаюсь создать в словаре карту делегатов, соответствующих протоколу. Мне нужен последовательный ключ, который представляет протокол.

Например, следующее дает мне объект протокола

Protocol * one = @protocol(SomeProtocolDefinedEarlier);

И он отвечает на [one hash], но хеш-код не одинаков каждый раз, когда вы получаете объект протокола для того же протокола. Есть ли какое-нибудь сообщение name или что-то, что я могу использовать для его идентификации?

1 Ответ

4 голосов
/ 08 февраля 2010

Ну, протоколы должны иметь уникальные имена (в противном случае они будут конфликтовать друг с другом), как на счёт:

Protocol * aProtocol = ...
NSString * protocolIdentifier = NSStringFromProtocol(aProtocol);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...