1
9
对于您使用的nsstring的大小没有特定的限制,只要它不太大,就可以填满所有内存!字典不会加载字符并开始查看它们本身,因此不会出现与此相关的任何内部nsdictionary问题或性能问题,因为它只使用isequal:方法,如果返回true,则匹配。 希望有帮助。 |
2
3
没有具体的限制。字典的一个先决条件是密钥必须符合
因为键必须符合
|
3
2
除了nsstring的最大长度之外,没有任何最大值,我认为这在理论上是无限的/uintmax。nsdictionary接口需要通过-hash和-isequal:方法进行索引,该方法由用作键的任何对象实现,以允许键是任何东西,而不仅仅是nsstring。nsstring当然实现了这两个函数,但这不是重点——散列是一个int,所以基本上需要nsstring来找到将其内容转换为整数的方法——它不必(并且物理上不能)是唯一的,只需重复(每次返回相同的结果)。见 here 有关哈希的详细信息。基本上,这意味着每个nsstring——实际上是任何对象——都可以有一个哈希。因此,如果您可以将其存储在nsstring中,那么将其放入nsdictionary中是没有限制的。另外,不用担心字典的性能/字典是一种完全有效的设计,而且速度足够快,可以应用。 |
4
1
没有理论上的最大值。另外,在您确定这确实是个问题之前,我不会担心性能问题。 |
Noah H · 如何通过终端或Swift禁用三指轻拍手势? 6 年前 |
Dmitry Serov · 货币数字格式-数字为整数时省略分数部分 6 年前 |
Duny · ObjC日期始终返回2017年12月25日 6 年前 |
Jan Kaiser · NSButton不调用其操作 6 年前 |