如何获取协议对象的唯一标识符

时间:2010-02-08 19:16:59

标签: iphone objective-c cocoa

我正在尝试使字典存储与协议对应的委托的映射。我需要一些代表协议的一致密钥。

例如,下面给出了一个协议对象

Protocol * one = @protocol(SomeProtocolDefinedEarlier);

它响应[one hash],但每次获得相同协议的协议对象时,哈希值都不相同。是否有一些name消息或我可以用来识别它的东西?

1 个答案:

答案 0 :(得分:4)

好吧,协议必须有唯一的名称(否则它们会相互冲突),那么如何:

Protocol * aProtocol = ...
NSString * protocolIdentifier = NSStringFromProtocol(aProtocol);