gpt4 book ai didi

ios - 为什么在 iOS 10 中添加 "__NSSingleXXXI"私有(private)类

转载 作者:行者123 更新时间:2023-11-28 18:29:00 25 4
gpt4 key购买 nike

新增了三个私有(private)类是iOS 10

  • __NSSingleObjectArrayI
  • __NSSingleObjectSetI
  • __NSSingleEntryDictionaryI

当容器初始化为单个对象时,容器集群将使用这三个新类。

在 iOS 9 中,也添加了“__NSArray0”和“__NSDictionary0”。

我不知道为什么要添加这些特殊的私有(private)类(class)。谁能告诉我为什么?

最佳答案

这很可能只是一种优化。例如,__NSSingleObjectSetI 不需要为实际的哈希表操心,因为只有一个对象需要担心。像 containsObject: 这样的方法不需要遍历任何东西或查找任何东西,它可以简单地将参数与集合/数组/字典表示的单个对象进行比较。

类似地,__NSArray0(假设它用于空数组)可以有类似arrayByAddingObjectsFromArray: 的方法,只需将copy 发送到参数并返回它。一个小的优化,但仍然是一个优化。

当然你不应该直接使用这些类(因为它们是私有(private)的,并且是一个实现细节),框架会自动使用这些类。由于它一个实现细节,我不能确定这些私有(private)类的真正目的,我只是猜测。

关于ios - 为什么在 iOS 10 中添加 "__NSSingleXXXI"私有(private)类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39953234/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com