0

我试图在 Objective-C 中做一个 1 位的实例字段,但是当我尝试这个时,@property BYTE Z : 1;我得到一个错误,说Property name cannot be a bitfield.

我不能这样做吗?是否有解决此错误的方法?

谢谢

4

1 回答 1

0

大多数机器的最小可分配内存单元是 1 字节。没有办法分配 1 位,它可能不可映射。它必须包含所有 ASCII 字符。
所以只需使用一个字节然后读取位掩码。

使用类似的东西:

@property (nonatomic) Byte byte;

然后使用宏进行阅读:

#define BitAtIndex(byte,index) (byte & (1<<index))!=0

PS:当然指数不能大于7。

于 2012-12-12T16:34:25.647 回答