我试图在Objective-C中执行1位的实例字段,但是当我尝试这个@property BYTE Z : 1;
时,我收到错误Property name cannot be a bitfield
。
我不能这样做?这个错误有解决方法吗?
由于
答案 0 :(得分:0)
最小的可分配内存单位是大多数机器的1字节。没有办法分配1位,它可能不是可映射的。它必须包含所有ASCII字符。
所以只需使用字节然后读取位掩码。
使用类似:
@property (nonatomic) Byte byte;
然后使用宏来阅读:
#define BitAtIndex(byte,index) (byte & (1<<index))!=0
PS:当然指数不能大于7.