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 に答える