【发布时间】:2012-12-12 15:08:37
【问题描述】:
我试图在 Objective-C 中创建一个 1 位的实例字段,但是当我尝试这个 @property BYTE Z : 1; 时,我收到一条错误消息 Property name cannot be a bitfield。
我不能这样做吗?是否有解决此错误的方法?
谢谢
【问题讨论】:
标签: objective-c instance bit bit-fields ivar
我试图在 Objective-C 中创建一个 1 位的实例字段,但是当我尝试这个 @property BYTE Z : 1; 时,我收到一条错误消息 Property name cannot be a bitfield。
我不能这样做吗?是否有解决此错误的方法?
谢谢
【问题讨论】:
标签: objective-c instance bit bit-fields ivar
大多数机器的最小可分配内存单元是 1 字节。没有办法分配 1 位,它可能不可映射。它必须包含所有 ASCII 字符。
所以只需使用一个字节然后读取位掩码。
使用类似的东西:
@property (nonatomic) Byte byte;
然后使用宏进行读取:
#define BitAtIndex(byte,index) (byte & (1<<index))!=0
PS:当然索引不能大于7。
【讨论】: