gpt4 book ai didi

iphone - Objective-C:检查是否使用枚举选项

转载 作者:可可西里 更新时间:2023-11-01 04:04:59 27 4
gpt4 key购买 nike

我有一个使用 typedef 枚举的自定义对象。如果我为我的对象设置了几个枚举选项,我如何检查它们是否被使用?

typedef enum {
Option1,
Option2,
Option3
} Options;

在创建我的对象时,我可能会使用:

myobject.options = Option1 | Option2;

然后我怎样才能检查设置了哪些枚举选项?如:

if (myobject.options == Option1) {
// Do something
}

if (myobject.options == Option2) {
// Do something
}

最佳答案

如果你想为你的选项参数做按位逻辑,那么你应该定义你的枚举,这样每个选项只设置一个位:

typedef enum {
Option1 = 1, // 00000001
Option2 = 1 << 1, // 00000010
Option3 = 1 << 2 // 00000100
} Options;

然后使用按位或运算符设置选项:

myObject.options = Option1 | Option2;

并使用按位 AND 运算符检查设置了哪些选项:

if(myObject.options & Option1) {
// Do something
}

关于iphone - Objective-C:检查是否使用枚举选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7154304/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com