Objective-Cで1ビットのインスタンスフィールドを実行しようとしましたが、これを実行しようとすると@property BYTE Z : 1;
、というエラーが発生しますProperty name cannot be a bitfield
。
何ができないのですか?このエラーの回避策はありますか?
ありがとう
Objective-Cで1ビットのインスタンスフィールドを実行しようとしましたが、これを実行しようとすると@property BYTE Z : 1;
、というエラーが発生しますProperty name cannot be a bitfield
。
何ができないのですか?このエラーの回避策はありますか?
ありがとう
割り当て可能なメモリの最小単位は、ほとんどのマシンで 1 バイトです。1 ビットを割り当てる方法はありません。マッピングできない可能性があります。すべての ASCII 文字を含める必要があります。
したがって、バイトを使用してからビットマスクを読み取ります。
次のようなものを使用します。
@property (nonatomic) Byte byte;
次に、読み取り用のマクロを使用します。
#define BitAtIndex(byte,index) (byte & (1<<index))!=0
PS: もちろん、インデックスは 7 を超えることはできません。