Ric*_*ich 2 cocoa protocols objective-c nsdictionary
我已经在Apples文档中读到(正如我所料)NSDictionary不仅仅限于键的字符串.这里还有一篇帖子确认可以使用套装.我想使用协议对象,但它没有发生.我将initWithObjectsAndKeys作为密钥传递给@protocol(MyGreatProtocol).编译,但我得到一个运行时错误,说"对象[协议对象]没有实现其他东西 - 前面的麻烦"然后另一个错误消息说"你看,我说它会导致问题.我拯救了这个!"
好吧,第二个的措辞可能略有不同,但是现在对不起,并且想要在我真正回到它之前尝试澄清它.希望至少有人会得到我的问题的要点.
也许这是我引用协议的方式?我玩过替代品而没有成功.并且@protocol(Blah)返回一个指针?所以无法理解它为什么不起作用.
您可以使用的功能NSStringFromProtocol以及NSProtocolFromString,如果你想协议名称存储在一个字典.NSStringFromProtocol将返回一个可以用作键的字符串对象,并将返回NSProtocolFromString另一个方向.
字典中的关键对象必须符合NSCopying协议,因为键必须在逻辑上不可变.