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

2024-03-27

我有一个使用 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;

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

myObject.options = Option1 | Option2;

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

if(myObject.options & Option1) {
    // Do something
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Objective-C:检查是否使用枚举选项 的相关文章

  • UIPageControl 未显示

    我使用以下内容来显示滚动视图和页面控制 scrollView UIScrollView alloc initWithFrame CGRectMake 0 0 320 179 pageControl UIPageControl alloc i
  • 使用cordova打开本地pdf文件

    我使用 cordova 3 3 0 我想打开本地 pdf 文件 然后根据用户需求关闭它 ref window open encodeURI path blank location yes ref addEventListener exit
  • 我可以通过编程方式获取连接到手机的 wifi 的 MAC 地址吗?

    我的手机已连接到 wifi 我想获取我的 wifi 的 MAC 地址 BSSID 和 mac 地址是同一回事 您可以通过此函数获取 mac 地址 只需导入 SystemConfiguration CaptiveNetwork func ge
  • UIModalPresentationFormSheet 的圆角

    如果这是一个明显的问题 请原谅我 我是个相对较新的人 我有一个模态视图 我设置了自定义尺寸和圆角 void viewWillLayoutSubviews super viewWillLayoutSubviews self view supe
  • 如何在 CarPlay 中显示“正在播放”选项卡?

    我正在开发一个支持 CarPlay 的应用程序 这是一个音频应用程序 我可以显示 2 个选项卡 最喜欢的和推荐的 但我只是不知道如何显示 正在播放 选项卡 我只是找不到任何有关此的信息 我是否必须手动显示它 以及如何推送 我必须手动完成吗
  • 在 IOS9 中的 Cordova 应用程序上使用 JQuery/Javascript 的 window.history 问题

    我在 IOS9 测试版 下使用 Cordova 应用程序时遇到问题 我正在使用最新的 Cordova 和 JQuery 移动版本 window history 未更新 导致以下故障 window history go 1 无法返回页面 即使
  • 如何在iOS 11中向集合视图大标题导航栏添加刷新控件?

    根据 Apple 的说法 刷新控件应该是 iOS 11 中大标题导航栏的一部分 当我在故事板中为 UITableViewController 启用刷新控件时 刷新控件是导航栏的一部分 拉动刷新 我无法在故事板中为 UICollectionV
  • 如何在 iOS8 上以编程方式创建一个没有 Storyboard 的 Today 小部件?

    我尝试删除故事板文件和相关的Info plist进入但这次扩展停止工作 它甚至不能从 XCode 启动 The operation couldn t be completed LaunchServicesError error 0 在常规应
  • 具有多个嵌入 Segue 的 ContainerView

    有没有办法让单个 ContainerView 具有多个嵌入序列 目的是让 ContainerView 根据按下的按钮来容纳一些不同的 ViewController 一次只能看到一个 我想使用嵌入序列 以便在 Interface Builde
  • Xcode 4 自动完成错误

    您是否还面临 Xcode 4 自动完成功能的问题 该功能过去在 3 x x 版本上运行良好 我已经在 Prefix 中导入了一些类 但 Xcode 不想帮助我输入代码 我必须手动添加上面的 implementation 导入 myclass
  • 用强/弱自我打破保留周期

    我读过关于强 弱的帖子self打破保留周期 但我仍然对它们如何工作感到困惑 我理解使用 weak typeof self weakSelf self创建对自我的弱引用 但我对强引用感到困惑 据我了解 强引用是指对self这样它就不会在块结束
  • 改变 RGB 颜色的色调

    我正在尝试编写一个函数来改变 RGB 颜色的色调 具体来说 我在 iOS 应用程序中使用它 但数学是通用的 下图显示了 R G 和 B 值如何随色调变化 看起来 编写一个函数来改变色调似乎应该是一个相对简单的事情 而不需要对不同的颜色格式进
  • 电子邮件在 ShareKit 中不起作用并且没有错误

    我正在使用 ShareKit 将 Facebook Twitter 和电子邮件共享添加到我的 iPhone 应用程序中 现在 Facebook 和 Twitter 可以使用 但电子邮件无法使用 最大的问题是没有错误或任何错误 它正常工作 但
  • 如何在目标c中从网络提供商获取用户的当前位置?

    在离线模式下如何获取用户在ios中的当前位置 是否可以通过网络提供商获取位置 我给你完整的解决方案 如果你想实现这一点 你应该使用核心定位框架 第一步 在 h文件中导入CoreLocation框架 import
  • AFNetworking 无法编译

    我完全无法尝试使用 AFNetworking 在模拟器上运行项目 我之前在其他项目中使用过这种依赖关系 所以我不明白这里出了什么问题 首先 我尝试运行项目时出现错误 Undefined symbols for architecture x8
  • 为什么Android和IOS11无法通过NFC通信

    目前正在使用 React Native 并尝试使用反应本机 NFC ios https www npmjs com package react native nfc ios and 反应本机 NFC https github com Nov
  • UIViewController 加载时间慢(ClientState 慢警告)

    自从我将旧应用程序转换为 iOS 6 以来 我开始在控制台中收到以下消息 WARNING Slow defaults access for key ClientState took 0 023656 seconds tolerance is
  • UITableView 显示的行数多于 numberOfRowsInSection 中指定的行数:

    我希望我的 tableView 显示 6 行 其中包含文本 在本例中为 示例 据我所知 我有我的numberOfSectionsInTableView and numberOfRowsInSection 设置正确 请参阅下面的示例代码 NS
  • 如何通过 CollectionView 中的流布局将单元格对齐到顶部

    在此代码中 我尝试更改 UICollectionView 的第一个单元格的大小以及具有相同大小的其他单元格的大小 但在第一行中 当我想要两个单元格出现时 只有一个单元格出现 func collectionView collectionVie
  • 如何在核心数据中应用group by子句

    我正在实现 tableview 我想在 tableview 部分显示类名 并且我正在尝试获取 使用核心数据实现的数据库中的类值 我想使用类名上的 group by 子句获取数据 这是我的代码 AppDelegate appDelegate

随机推荐

  • 在netsuite中添加新的事务状态

    我正在开发 netsuite 并希望为客户账单创建新状态 我想要的新状态是 注销 注销后状态显示 已全额付款 我希望它显示 注销 我找到了很多帮助将当前状态更改为另一个现有的默认状态 例如 让我们举个例子 以下是尝试查找待履行销售订单时要应
  • VSCode 自定义宏

    我目前正在尝试使用 VSCode 但我不知道如何正确定义宏并将它们绑定到特定的按键绑定 我习惯使用 Sublime text 并且我定义了一些宏 可以帮助我更快地打字并减少错误 我想要获得的宏如下 alt shift q 哪些类型 并将光标
  • 设置普通石墨烯嵌套查询

    我已经成功创建了一个响应的全石墨烯查询 query person id Mary id name 我现在想扩展它 以便能够循环遍历所有人并为每个人返回类似的数据 query people count allPersons name 我如何获
  • 文件 -----stdarg.h 和 float.h 没有这样的文件或目录吗?

    我正在 xcode 项目中使用 mm 扩展名上的一些文件来编译这些文件 在添加此编译器后 我们在构建设置中添加了 LLVM GCC 4 2 这显示了错误 Developer Platforms iPhoneSimulator platfor
  • 插入等值元素

    我目前正在研究二叉搜索树 我想知道如果您尝试插入与根具有相同值的元素 您会怎么做 它去哪里 BST的定义是它是有序集 因此不允许插入重复项 这通常是由于在 BST 之上构建了更复杂的结构 根据所需的行为 您可能希望在插入重复项时引发异常 错
  • PHP:从网站提取 HTML 数据[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何将自定义日志发送到 Google Play 开发者控制台?

    我已将我的 Android 应用程序上传到谷歌游戏 我的应用程序运行良好 但在某些设备上 它存在一些问题 每当我的应用程序崩溃时 Google Play 开发者控制台都会收到该错误 就像是 java lang RuntimeExceptio
  • 当我在终端中创建新分支时,为什么图表不显示从主分支分支出来的新分支?

    当我在终端中创建一个名为 testing123 的新分支时 为什么 Sourcetree 中的图表不显示从主分支分支出来的新分支 Sourcetree 识别新分支 但它不会从图中的主分支分支出来 为什么会出现这种情况 如何使 Sourcet
  • 如何设置 NSTextView 的默认字体?

    我正在使用禁用 富文本 选项的文本视图来显示一些纯文本 我找不到设置默认字体的方法 如果我在 IB 中输入一些文本 无论如何我都不想要 我可以在 IB 界面中设置字体 但是当用户删除字体并开始键入时 文本会更改为不同的字体和大小 我在这里阅
  • 用 python 替换文件名字符

    我有一些代码将单词 manual 添加到一堆文件名的末尾 我需要更改脚本 以便删除文件名的最后两个字母 ES 然后将其替换为 ES Manual 例如 AC 5400ES txt gt AC 5400 ES manual txt 我如何将该
  • 无法通过 Microsoft Graph API(C# 控制台)发送电子邮件

    我按照这 2 个链接创建了一个控制台应用程序 用于使用 Graph API 发送电子邮件 Microsoft Graph API 无法发送电子邮件 C 控制台 https stackoverflow com questions 574112
  • Docker Buildkit --mount=type=cache 用于缓存 .NET 6 的 Nuget 包

    我写了一个Dockerfile使用 Docker buildx mount type cache设置缓存我的 NuGet 包以加快构建速度 正如所示 这似乎在 NET 5 中有效其他问题 https stackoverflow com qu
  • 嵌入到java中的网络浏览器[重复]

    这个问题在这里已经有答案了 可能的重复 有没有办法在Java中嵌入浏览器 https stackoverflow com questions 48249 is there a way to embed a browser in java 我
  • 如何在 For Each...Next 循环中获取对象的索引?

    我使用以下语法来循环列表集合 For Each PropertyActor As JCPropertyActor In MyProperty PropertyActors i IndexOf PropertyActor Next 如何获取循
  • Selenium 下载完整的 html 页面

    我正在学习使用 Python Selenium 和 BeautifulSoup 进行网页抓取 目前 我正在尝试抓取Google搜索趋势上的热门搜索http www google com trends hottrends pn p5 http
  • 按索引动态添加项目到 List 而不使用 .Add()

    我试图将项目添加到列表中without动态使用 Add 请注意 由于我的项目的性质 我无法使用字典或简单数组甚至 HashSet 等替代数据结构 我需要一个锻炼解决方案来解决以下问题 List
  • ipython笔记本:如何并行化外部脚本

    我正在尝试使用 ipython 并行库中的并行计算 但我对此知之甚少 并且我发现对于对并行计算一无所知的人来说很难阅读该文档 有趣的是 我发现的所有教程都只是重复使用文档中的示例 并具有相同的解释 在我看来 这是毫无用处的 基本上我想做的是
  • 获取地点的纬度和经度 dbpedia

    我想获取一个我已经知道其名称的地点的纬度和经度 PREFIX geo
  • 有没有办法从 Ruby 中的实例调用私有类方法?

    以外self class send method args 当然 我想在类和实例级别提供一个相当复杂的方法 而不需要重复代码 UPDATE Jonathan Branam 这是我的假设 但我想确保没有其他人找到解决方法 Ruby 中的可见性
  • Objective-C:检查是否使用枚举选项

    我有一个使用 typedef 枚举的自定义对象 如果我为对象设置了一些枚举选项 如何检查这些选项是否正在使用 typedef enum Option1 Option2 Option3 Options 创建对象时我可能会使用 myobject