Это скорее всего оптимизация. Например, __NSSingleObjectSetI
не нужно беспокоиться о фактической хэш-таблице, потому что есть только один объект, о котором можно беспокоиться. Такие методы, как containsObject:
, не нуждаются в том, чтобы зацикливаться на чем-либо или что-либо искать, он может просто сравнить аргумент с единственным объектом, который представляет собой набор/массив/словарь.
Аналогичным образом, __NSArray0
(при условии, что он используется для пустых массивов) может иметь методы, подобные arrayByAddingObjectsFromArray:
, просто отправьте copy
в аргумент и верните его. Небольшая оптимизация, но тем не менее оптимизация.
Вы не должны использовать эти классы напрямую (так как они являются частными и детализация реализации), инфраструктура будет использовать эти классы автоматически. Так как это является деталь реализации, я не могу быть уверен в истинных целях этих частных классов, я только предполагаю.
Частные классы - это классы, предназначенные только для внутреннего использования Apple. Пользователь/мы не можем его использовать (если вы не настроите или не сделаете jailbreak iphone). Итак, теперь добавление новых частных классов или их удаление основано на их внутренней потребности, только программист из apple может только сказать, почему они добавили. –