S.C*_*ain 0 runtime objective-c ios ios10
增加了三个新的私有类是iOS 10
当容器init与单个对象一起使用时,容器的集群将使用这三个新类.
在iOS 9中,还添加了'__NSArray0'和'__NSDictionary0'.
我不知道添加这些特殊私人课程的原因.有人可以告诉我为什么吗?
这只是最有可能的优化.例如,__NSSingleObjectSetI不需要打扰实际的哈希表,因为只有一个对象需要担心.类似的方法containsObject:不需要循环任何东西或查找任何东西,它可以简单地将参数与set/array/dictionary表示的单个对象进行比较.
类似地,__NSArray0(假设它用于空数组)可以有arrayByAddingObjectsFromArray:简单的方法发送copy到参数并返回它.一个小的优化,但仍然是一个优化.
当然,您不应该直接使用这些类(因为它们是私有的,并且是实现细节),框架将自动使用这些类.由于它是一个实现细节,我无法确定这些私有类的真正目的,我只是在猜测.