Apple将CFBit归档为UInt32,但我对其原因感到困惑。如果每个位定义为32 位,那么是否会破坏使用位向量的目的?我错过了什么吗?
答案 0 :(得分:1)
不,不是,因为CFBit不是例如的存储类别。一个CFBitVector。它仅用于比较位向量中特定位置的特定位是0还是1.编译器(clang)中没有内置类型来存储单个位(就像在嵌入式系统的某些编译器中一样),因此需要这种解决方法。为什么选择UInt32才是出于这个目的,我无法分辨。
再次:CFBitVector内部是 NOT CFBit实例的向量。