__NSCFDictionary0和NSDictionary和CFDictionaryDef到底是什么关系

NSDictionary *dic = [NSDictionary dictionary];
NSLog(@"%@\n", NSStringFromClass([dic class]));
打印出__NSCFDictionary0这个东西 。
__NSCFDictionary0 与 NSDictionary 到底是个什么关系
NSDictionary 和 CFDictionaryDef又是什么关系。。
我看到很多类后面都有一个类似的Def版本 到底是什么东西 这个。。有没有什么资料是说这个的。
还有 我用NSStringFromClass打印一个内存里面的一个对象 打印出来是__NSCFType 这个又是个什么。。有什么资料描述了这些知识的吗。

类簇

字数补丁

OK 我找资料看看 谢谢

类簇。初始化不同时期所谓的返回的真正的类,比如@{} 没有值,它就是__NSCFDictionary0, 大概是这个意思,具体再研究下