Objective-C小技巧之——如何将自定义类的对象作为字典的Key

Objective-C里面,要把自定义类产生的对象作为字典的Key不想Java那样自然而然,而是要做很多事情。

前年写过一篇文章,提到了如何把自定义类的对象变成字典的key。当时为了搞明白这个,连OPENSTEP的源码都看了。这种方法虽然正统,但是非常麻烦,不仅要实现NSCopying,而且要把equal和hash都写了,有点悲剧。但实际上有一个小技巧可以在不实现这些方法的情况下,将对象作为key,那就是用NSValue。

参考文章:

http://stackoverflow.com/questions/11532306/using-an-object-as-key-for-nsdictionary
http://nshipster.com/nsvalue/

示例代码:

1 Comment

Post a Comment