Nic*_*ard 5 iphone objective-c ios
我有一个使用typedef枚举的自定义对象.如果我为我的对象设置了一些枚举选项,我该如何检查它们是否被使用?
typedef enum {
Option1,
Option2,
Option3
} Options;
Run Code Online (Sandbox Code Playgroud)
在创建我的对象时,我可能会使用:
myobject.options = Option1 | Option2;
Run Code Online (Sandbox Code Playgroud)
我怎样才能稍后检查哪些枚举选项被设置?如:
if (myobject.options == Option1) {
// Do something
}
if (myobject.options == Option2) {
// Do something
}
Run Code Online (Sandbox Code Playgroud)
glo*_*ker 24
如果要为options参数执行按位逻辑,则应定义枚举,以便每个选项只设置一个位:
typedef enum {
Option1 = 1, // 00000001
Option2 = 1 << 1, // 00000010
Option3 = 1 << 2 // 00000100
} Options;
Run Code Online (Sandbox Code Playgroud)
然后使用按位OR运算符设置选项:
myObject.options = Option1 | Option2;
Run Code Online (Sandbox Code Playgroud)
并使用按位AND运算符检查已设置的选项:
if(myObject.options & Option1) {
// Do something
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5372 次 |
| 最近记录: |