我们在使用NSMutableDictionary时候,有大量的数据要操作。 假设千万级别的。
咱们做一个小Demo
let dic = NSMutableDictionary()
for i in 1...2<<24
{
dic["\(i)"] = "\(i)"
if dic.count != i
{
print(i)
}
}
打印结果为:33554432
这时候dic的数据为0.为什么会这样?
这里有个关键词叫:innodb_additional_mem_pool_size(是 InnoDB 用来保存数据字典信息和其他内部数据结构的内存池的大小)
默认大小是2^24.
在iOS中也不可以修改。
所以大家在使用Dictionary的时候,切记不要大小不要超过2^24