为什么要写这个文档?
我在重温OC的字典类型时,发现了setValue:把值设为nil之后字典中会自动删除这个关键字指向的键值对。于是,我突然有了一个想法,在字典中可以存在多个相同的变量值,但是关键字确具有唯一性,那么NSDictionary的存储中,是否key本质上是一个结构体,存储了一个key的名称和一个指向value的指针。NSDictionary存储的本质上是存储这些结构体,而不存储value呢?
不存储value的结论是通过for in循环中获得的值为关键字得出的想法。而下面的推论也是在这个代码中测试的。
我的猜想存储图:(中间有空格表示非连续存储,以链表式存储)