大家.在最近学习OC时,我总是遇到这样的枚举.
enum {
type1 = 0,
type2 = 1 << 0,
type3 = 1 << 1,
};
Run Code Online (Sandbox Code Playgroud)
type = 1 << 0是什么意思?它通常用于什么?谢谢你.
这是一位移位。如果您需要为某物分配多种类型,则可以使用这种构造。这称为位掩码。例子:
enum {
type1 = 1,
type2 = 1 << 1,
type3 = 1 << 2,
};
Run Code Online (Sandbox Code Playgroud)
表示type1是二进制00000001,type2是00000010,type3是00000100等等。因此,如果类型掩码为 3 (00000011),您就知道您的对象是 type1 和 type2。
| 归档时间: |
|
| 查看次数: |
5403 次 |
| 最近记录: |